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