QT3與QT4中uic的使用差異---李家凱老師

發(fā)布時(shí)間:2010-8-24 10:50    發(fā)布者:crcrwxy
關(guān)鍵詞: uic , QT3 , QT4
作者:華清遠見(jiàn)武漢華嵌中心 金牌講師 李家凱


1、
QT3

QT3中,用designer設計好界面后,使用uic來(lái)根據界面生成代碼文件,QT3uic可以自動(dòng)生成.h.cpp文件,假設你在制作一個(gè)名叫DemoDlg的對話(huà)框,生成文件名為DemoDlg.uiui文件,那么 QT3uic生成的文件則是DemoDlg.hDemoDlg.cpp,具體的命令如下:
# uic
DemoDlg.ui

-o
DemoDlg.h

# uic
DemoDlg.ui


-i
DemoDlg.h
-o
DemoDlg.cpp

所有的界面初始化工作都在cpp文件中執行,控件的定義在h文件的類(lèi)中聲明,之后程序的邏輯代碼(包括信號與槽的連接)也將加入這個(gè)文件,那么對于一個(gè)已經(jīng)完成邏輯功能的對話(huà)框來(lái)說(shuō),如果要修改界面布局,你就不得不重新用uic生成.h.cpp文件,然后將其中界面相關(guān)的代碼復制到你已經(jīng)修改的文件中,此時(shí)決不能直接用uic直接生成到修改過(guò)的文件上,因為那樣你的代碼將全部被覆蓋掉。

2、QT4
在由ui文件生成h文件方面,QT4改進(jìn)了,QT4中推薦的方法是,使用uic根據界面文件生成一個(gè)h文件,以前面的DemoDlg為例,生成的文件叫做ui_DemoDlg.h,在控制臺執行命令為:
# uic
DemoDlg.ui
-o
ui_DemoDlg.h

ui_DemoDlg.h中會(huì )實(shí)現一個(gè)名為Ui_DemoDlg的類(lèi),包含了界面所有控件的加載功能,而程序的邏輯功能依然使用DemoDlg.hDemoDlg.cpp這兩個(gè)功能,并在DemoDlg.h中用多重繼承的方法,從剛才的Ui_DemoDlg類(lèi)來(lái)繼承出實(shí)際的DemoDlg類(lèi),在DemoDlg的構造函數中,只需要使用setupUi()方法,就可以構建出整個(gè)界面,并且由于是從Ui_DemoDlg繼承來(lái)的,在邏輯代碼中也可以方便的訪(fǎng)問(wèn)所有控件,當然Ui_DemoDlg類(lèi)中控件的權限為public最好了。
由此看來(lái),QT4的方法是個(gè)巨大的進(jìn)步,因為ui_xxx.h中不再包含任何用戶(hù)自己寫(xiě)的代碼了,此時(shí)你想更改界面布局的話(huà),只需要用designer修改界面,再用uic生成ui_xxx.h文件,直接替換原文件就可以了。這樣就不會(huì )因為界面的改變而迫使你修改xxx.hxxx.cpp了。


轉自:http://www.embedhq.org/html/jsbw/2010/0309/331.html
本文地址:http://selenalain.com/thread-23468-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页