Qt Eclipse開發(fā)環(huán)境的部署 下篇
本文介紹Qt Eclipse開發(fā)環(huán)境的部署,接著 Qt Eclipse開發(fā)環(huán)境的部署 中篇繼續(xù)介紹,Qt 一個跨平臺的C++圖形用戶界面應用程序框架,和Eclipse***結合應該是很不錯的!請看內(nèi)容。
1, $source /data/opt/qt-4.4.3/setqt4 設置環(huán)境變量
export QTDIR=/data/opt/qt-4.4.3 export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
2,然后啟動eclipse
3, 新建項目。
類型為C++ 下“C++ Project" => project type = "executable"下"Empty Project" , Toolchains="Linux Gcc" =>點Next =>點"Advanced settings" => 展開"c/c++ build" -> "settings",在右側展開"gcc c++ compiler","Directories", 右側"include pathes" , 瀏覽添加/data/opt/qt/4.4.3/include; => 展開"GCC C++ Linker","Libraries",在Libraries(-l)中添加兩次,分別添加QtCore, QtGui ; ==> 在"Library search path"添加/data/opt/qt/4.4.3/lib
4, 新建Source File, 輸入代碼,就可以正常編譯了.
5,可能問題:
(1)如果在進入eclipse前,沒有設置環(huán)境變量LD_LIBRARY_PATH,則項目能編譯,但運行時提示找不到qt的動態(tài)鏈接庫而失敗。
(2)一般教材上寫文件包含是 #include ,但由于上面我們添加的include中只添加了qt下的include這一級目錄,沒有添加下面的子目錄,所以寫代碼時要自己根據(jù)庫文件所在子目錄,添加所屬包名,即變?yōu)?include , 否則在編譯時會提示找到頭文件。
(3)第三步只是演示了如何從一般c/c++項目,通過添加配置而變成支持QT,實際開發(fā)過程是,在新建項目時,可以選擇QT下的各種QT項目(如Qt Console Project, Qt Gui Class, Qt Gui Project, Qt Resource File),或Qt Designer下的Qt Designer Form項目。這樣就不需要自己添加相應include與lib.更方便快捷!
附加篇
QT和eclipse的集成很簡單,安裝集成包以后設置一下qt的bin目錄和include目錄即可,CDT中 會新增qt類型的項目。
QT和eclipse的集成以后,***的好處就是可以使用qt帶的可視化設計工具,采用的是類似于XUI的做法,很清爽。
和習慣的vs,netbean做法有些區(qū)別, 簡單記錄一下。
1. 每增加一個ui表單或者對話框類會生成如下文件
一個對象類cpp文件,一個對象類頭文件
而在每一個對象類中會自動增加一個ui類的聲明,可以用此來引用包含的ui元素
- Ui::AddDialogClass ui;
一個"ui_對象名.h" 格式的頭文件 用來保存在designer中增加的元素, 這部分應該不要手工修改。這部分應該向netbean學習,應該設置為只讀。
一個對象.ui文件 Form file,文本類型用來描述對象設計布局。雙擊可以打開設計器。注意:Form file文件必須保存以后才會生成上一個ui頭文件.
2. 事件處理, 在一個表單內(nèi)可以使用宏直接定義,不需要使用connect進行連接
比如在頭文件中申明
- private slots:
- void on_addButton_clicked();
則此slots會自動對應到addbutton的 clicked事件,依靠的是名字規(guī)范。
在ui頭文件中可以找到這樣的代碼
- QMetaObject::connectSlotsByName(AddressBookClass);
比單純手寫代碼簡單一些。
3. 事件處理也可以使用edit signal和slot 編輯器來實現(xiàn)可視化的事件關聯(lián)
方法是拖拽一個對象的引導箭頭到另外一對象上,選擇要關聯(lián)的signal。
4. QT中每個項目有一個.pro文件,負責項目內(nèi)的文件資源匯總管理。在eclipse中新增source文件時要記得將文件加人pro中??梢砸钥梢暬姆绞竭M行管理,比較簡單。
5. 其他
在編輯狀態(tài) 用ctrl+拖到可以復制對象,shift多選
layout可以多重嵌套,這和swing不同,不過更好用。 可以選擇幾個元素以后右鍵設定這組元素的layout。 元素之間可以用spacer來控制距離,很好用。
屬性編輯器有點***,居然不能ctrl+ v 必須用鼠標右鍵
整體感覺:
ui布局設計方面比較靈活,比netbean和vs都好用。
事件處理還是稍有點麻煩,不能直接可視化生成,在頭文件和cpp文件中手工加代碼還是有點不爽。
系統(tǒng)比較穩(wěn)定。就是編譯有點慢。
小結:Qt Eclipse開發(fā)環(huán)境的部署 下篇內(nèi)容介紹完了,希望這些內(nèi)容能夠幫助到你。