日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT3与QT4中uic的使用差异---李家凯老师

發布時間:2025/3/15 c/c++ 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT3与QT4中uic的使用差异---李家凯老师 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?1、? QT3

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

# uic ?DemoDlg.ui ???-o ?DemoDlg.h?????

# uic ?DemoDlg.ui ???-i ?DemoDlg.h? -o ?DemoDlg.cpp

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

?

2QT4

在由ui文件生成h文件方面,QT4改進了,QT4中推薦的方法是,使用uic根據界面文件生成一個h文件,以前面的DemoDlg為例,生成的文件叫做ui_DemoDlg.h,在控制臺執行命令為:

# uic ?DemoDlg.ui ?-o ?ui_DemoDlg.h

ui_DemoDlg.h中會實現一個名為Ui_DemoDlg的類,包含了界面所有控件的加載功能,而程序的邏輯功能依然使用DemoDlg.hDemoDlg.cpp這兩個功能,并在DemoDlg.h中用多重繼承的方法,從剛才的Ui_DemoDlg類來繼承出實際的DemoDlg類,在DemoDlg的構造函數中,只需要使用setupUi()方法,就可以構建出整個界面,并且由于是從Ui_DemoDlg繼承來的,在邏輯代碼中也可以方便的訪問所有控件,當然Ui_DemoDlg類中控件的權限為public最好了。

由此看來,QT4的方法是個巨大的進步,因為ui_xxx.h中不再包含任何用戶自己寫的代碼了,此時你想更改界面布局的話,只需要用designer修改界面,再用uic生成ui_xxx.h文件,直接替換原文件就可以了。這樣就不會因為界面的改變而迫使你修改xxx.hxxx.cpp了。

?

------分隔線----------------------------
  • 上一篇:學習ARM體系結構的意義--李磊老師
  • 下一篇:C/C++中堆和棧的區別--李家凱老師

轉載于:https://blog.51cto.com/6966212/1175947

總結

以上是生活随笔為你收集整理的QT3与QT4中uic的使用差异---李家凯老师的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。