偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

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

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

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

寫一個(gè).h文件

  1. myclass.h  
  2. #include <QtGui/QtGui>   
  3. namespace Ui   
  4. {   
  5.     class myui;//注:designer生成的ui類為ui_DialogClass,而我們只是用它的派生類myui   
  6.     //即:myui是ui_DialogClass的一個(gè)實(shí)體   
  7. }   
  8.    
  9. class myclass : public QDialog//自定義一個(gè)類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)建一個(gè)ui指針對(duì)象,因?yàn)閐esigner只是設(shè)計(jì)出來一個(gè)myui實(shí)體類,是個(gè)宏觀概念,我們必須定義一個(gè)對(duì)象才能調(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"//注:為什么只要這個(gè)頭文件就可以了呢?因?yàn)楫?dāng)我們創(chuàng)建一個(gè)myclass的對(duì)象的時(shí)//候,會(huì)自動(dòng)調(diào)用它的構(gòu)造函數(shù),釋放時(shí)自動(dòng)調(diào)用其析構(gòu)函數(shù).事實(shí)上我們不止只用一個(gè)構(gòu)造函數(shù)與析構(gòu)函數(shù),//這時(shí)候怎么辦呢?在myclass.h中聲明該函數(shù),在myclass.cpp中寫具體實(shí)現(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è)計(jì) UI 文件并調(diào)用的內(nèi)容介紹完了,希望本篇文章對(duì)你有幫助!

責(zé)任編輯: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-07-04 13:17:18

Qt Designer 布局

2011-06-27 16:18:24

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 動(dòng)態(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è)計(jì)技巧UIAndroid

2011-07-05 09:25:05

Qt MySQL 驅(qū)動(dòng)
點(diǎn)贊
收藏

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