前言:大學做畢設的時候搞過一段時間的QT,記得當時時間急匆匆忙忙地應付式完成了,最終Qt掌握得不3不4,現在決定:從零開始學習Qt。fight for Qt together ...
環境: Ubuntu-16.04
一、下載Download:
First of all, 到官網(Qt Downloads)下載,地址:http://download.qt.io/
主要目錄說明:
目錄 | 說明 |
---|---|
official_releases | 正式發佈版,穩定的 |
development_releases | 開發版,不穩定的 |
community_releases | 社區定製的Qt庫 |
所以,選擇official_releases版本的來下載,依次選擇操作(根據自己喜好的版本):
【official_releases】 => 【qt】 => 【5.12】 => 【5.12.4】 => 【qt-opensource-linux-x64-5.12.4.run】
注意:不要選擇【qtcreator】,只是老版本的Qt4需要。
二、安裝Install
在Ubuntu中,先賦予文件可執行權限,再運行qt-opensource-linux-x64-5.12.4.run,
命令:$ sudo chmod +x qt-opensource-linux-x64-5.12.4.run
命令:$ sudo ./qt-opensource-linux-x64-5.12.4.run
前面步驟簡單,略過,直到這一步,需選擇要安裝的組件,如下:
Android相關的不要(搞安卓的),source也不要(有興趣研究源代碼的可安裝上)。
然後再一路Next就可大功告成。
qtcreator位於安裝目錄下的 Tools/QtCreator/bin/ ,
可將其添加至環境變量中,如(/etc/profile文件末尾添加行,再 $source /etc/profile),即可在任意目錄中啓動qtcreator。
PATH=$PATH:/data/Qt/Qt5/Tools/QtCreator/bin
三、創建第一個工程---Hello Qt程序
1、打開qtcreator
命令行輸入:$ qtcreator,打開界面如下:
2、新建工程
點擊Qt Creator 菜單欄的 【文件】->【新建文件或項目】,選擇創建一個桌面Qt應用,如圖:
設置項目名稱與位置:
選擇組件Kit Selection,勾選全部kits:
設置類信息,設置如圖:
點擊完成按鈕,彈出新建的工程:
說明:
xxx.pro | 項目管理文件,包括一些項目設置項 |
Headers | 包含的頭文件(.h) |
Sources | 源文件(.cpp) |
Forms | 界面文件,用於界面的設計佈局等 |
點出打開mainwindow.ui界面文件,如圖:
說明,左下角:
分別是:運行(Run),調試(Debug),編譯(Build)
在左側的組件面板中,找到【Display Widgets】->【Label】,將【Label】組件拖入設計窗口中,雙擊編輯輸入“Hello Qt”:
編譯...,出錯了!!! Cannot find -lGL collect2:error:ld returned 1 exit status !!!
原因:是沒有找到libGL庫!
在Ubuntu上搜索一下libGL,找得到啊:
zengzr@zengzr-ubu:~$ locate libGL.so
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
原來,Qt 默認在 /usr/lib/ 目錄下查找動態鏈接庫,但是很多 Linux 發行版將 OpenGL 鏈接庫放在其它目錄。
所以,在/usr/lib/下創建指向libGL的軟鏈接即可:
zengzr@zengzr-ubu:/usr/lib$ cd /usr/lib/
zengzr@zengzr-ubu:/usr/lib$ sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 libGL.so
zengzr@zengzr-ubu:/usr/lib$ ls -l /usr/lib/libGL.so
lrwxrwxrwx 1 root root 41 9月 8 12:46 /usr/lib/libGL.so -> /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
創建完成,再次編譯-成功,運行-完美如下圖:
完~