自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Qt Designer設(shè)計 UI 文件并調(diào)用

移動開發(fā)
本文介紹的是Qt Designer設(shè)計 UI 文件并調(diào)用,在壇子里逛了一圈,關(guān)于UI方面的好像不怎多,本篇給大家分享一下。

Qt Designer設(shè)計 UI 文件并調(diào)用是本篇內(nèi)容將要介紹的內(nèi)容,不多說,先來看內(nèi)容。

1、用designer設(shè)計一個UI.對象名保存為myui,基于QWidget類.(可以在此基礎(chǔ)上隨便添加一些控件之類。eg:pushButton)。保存窗體為myui,or others.

2、為了明白其具體機制,我們可以用uic將此UI文件轉(zhuǎn)換成頭文件看看。uic -o ui_myui.h myui.ui.(事實上我們最后用qmake編譯的時候,qmake會自動調(diào)用uic轉(zhuǎn)換頭文件),在此.h文件中有定義了一個類class Ui_myui,并且有一個myui以public的方式繼承Ui_myui,class myui: public Ui_myui {}

特別說明:myui即是我們用designer設(shè)計的UI實體類

3、好了,輪到我們自己定義類了,為什么要自己定義類呢?是這樣的,如果我們直接調(diào)用的話,有很大的弊端:當我們的工程很浩大的時候,如果我們要修改UI文件了,則要相應(yīng)改很多源程序來繼續(xù)當前的功能,而如果我們定義一個類來繼承它的話,隨你UI怎么變,跟我關(guān)系不是很大。廢話少說,進入正題:

寫一個.h文件

  1. myclass.h  
  2. #include <QtGui/QtGui>   
  3. namespace Ui   
  4. {   
  5.     class myui;//注:designer生成的ui類為ui_DialogClass,而我們只是用它的派生類myui   
  6.     //即:myui是ui_DialogClass的一個實體   
  7. }   
  8.    
  9. class myclass : public QDialog//自定義一個類myclass,通過調(diào)用ui類   
  10. {   
  11.     Q_OBJECT   
  12.    
  13. public:   
  14.     myclass(QWidget *parent = 0);//最頂層父窗口為QWidget   
  15.     ~myclass();   
  16.    
  17. private:   
  18.     Ui::myui *ui;//創(chuàng)建一個ui指針對象,因為designer只是設(shè)計出來一個myui實體類,是個宏觀概念,我們必須定義一個對象才能調(diào)用它   
  19. };  
  20. myclass.cpp  
  21. #include "myclass.h"   
  22. #include "ui_myui.h"   
  23. myclass::myclass(QWidget *parent)   
  24.         :QDialog(parent),ui(new Ui::myui)   
  25. {   
  26.     ui->setupUi(this);//使用ui類   
  27.     connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(close()));   
  28. }   
  29. myclass::~myclass()   
  30. {   
  31.     delete ui;   

4、OK!我們的類已經(jīng)定義好,寫main函數(shù)調(diào)用自定義的類

  1. #include<QtGui/QtGui> 

#include"myclass.h"//注:為什么只要這個頭文件就可以了呢?因為當我們創(chuàng)建一個myclass的對象的時//候,會自動調(diào)用它的構(gòu)造函數(shù),釋放時自動調(diào)用其析構(gòu)函數(shù).事實上我們不止只用一個構(gòu)造函數(shù)與析構(gòu)函數(shù),//這時候怎么辦呢?在myclass.h中聲明該函數(shù),在myclass.cpp中寫具體實現(xiàn)方法.

  1. int main(int argc,char *argv[])  
  2. {  
  3.     QApplication app(argc,argv);  
  4.     myclass window;  
  5.     window.show();  
  6.     return app.exec();  
  7. }  

小結(jié):關(guān)于Qt Designer設(shè)計 UI 文件并調(diào)用的內(nèi)容介紹完了,希望本篇文章對你有幫助!

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-27 16:37:08

Qt Designer

2011-06-13 14:29:40

Qt Designer

2011-07-04 11:29:40

QT Designer

2011-06-10 11:24:08

Qt Quick Designer

2011-07-04 11:21:59

QT Designer

2011-06-28 17:21:50

QT UI designer

2011-06-27 16:07:49

Qt Designer

2011-06-27 16:18:24

Qt Designer

2011-07-04 13:17:18

Qt Designer 布局

2011-07-04 13:26:30

Qt Designer

2011-07-04 13:08:26

Qt Designer

2011-06-13 15:09:36

插件 Qt Designer

2011-06-29 09:56:29

QT UI 動態(tài)加載

2011-06-13 14:49:57

Qt Designer

2011-06-13 14:00:55

Qt Designer linux

2011-06-20 15:52:14

Qt Designer 控件

2011-07-04 14:29:25

Qt Designer 容器

2011-06-27 14:56:46

Qt Designer

2011-05-28 12:19:33

設(shè)計技巧UIAndroid

2011-07-05 09:25:05

Qt MySQL 驅(qū)動
點贊
收藏

51CTO技術(shù)棧公眾號