Qt Designer设计 UI 文件并调用

移动开发
本文介绍的是Qt Designer设计 UI 文件并调用,在坛子里逛了一圈,关于UI方面的好像不怎多,本篇给大家分享一下。

Qt Designer设计 UI 文件并调用是本篇内容将要介绍的内容,不多说,先来看内容。

1、用designer设计一个UI.对象名保存为myui,基于QWidget类.(可以在此基础上随便添加一些控件之类。eg:pushButton)。保存窗体为myui,or others.

2、为了明白其具体机制,我们可以用uic将此UI文件转换成头文件看看。uic -o ui_myui.h myui.ui.(事实上我们最后用qmake编译的时候,qmake会自动调用uic转换头文件),在此.h文件中有定义了一个类class Ui_myui,并且有一个myui以public的方式继承Ui_myui,class myui: public Ui_myui {}

特别说明:myui即是我们用designer设计的UI实体类

3、好了,轮到我们自己定义类了,为什么要自己定义类呢?是这样的,如果我们直接调用的话,有很大的弊端:当我们的工程很浩大的时候,如果我们要修改UI文件了,则要相应改很多源程序来继续当前的功能,而如果我们定义一个类来继承它的话,随你UI怎么变,跟我关系不是很大。废话少说,进入正题:

写一个.h文件

myclass.h  
#include <QtGui/QtGui>   
namespace Ui   
{   
    class myui;//注:designer生成的ui类为ui_DialogClass,而我们只是用它的派生类myui   
    //即:myui是ui_DialogClass的一个实体   
}   
   
class myclass : public QDialog//自定义一个类myclass,通过调用ui类   
{   
    Q_OBJECT   
   
public:   
    myclass(QWidget *parent = 0);//最顶层父窗口为QWidget   
    ~myclass();   
   
private:   
    Ui::myui *ui;//创建一个ui指针对象,因为designer只是设计出来一个myui实体类,是个宏观概念,我们必须定义一个对象才能调用它   
};  
myclass.cpp  
#include "myclass.h"   
#include "ui_myui.h"   
myclass::myclass(QWidget *parent)   
        :QDialog(parent),ui(new Ui::myui)   
{   
    ui->setupUi(this);//使用ui类   
    connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(close()));   
}   
myclass::~myclass()   
{   
    delete ui;   

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.

4、OK!我们的类已经定义好,写main函数调用自定义的类

#include<QtGui/QtGui> 
  • 1.

#include"myclass.h"//注:为什么只要这个头文件就可以了呢?因为当我们创建一个myclass的对象的时//候,会自动调用它的构造函数,释放时自动调用其析构函数.事实上我们不止只用一个构造函数与析构函数,//这时候怎么办呢?在myclass.h中声明该函数,在myclass.cpp中写具体实现方法.

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

小结:关于Qt Designer设计 UI 文件并调用的内容介绍完了,希望本篇文章对你有帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

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-06-28 17:21:50

QT UI designer

2011-07-04 11:21:59

QT 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-06-13 15:09:36

插件 Qt Designer

2011-07-04 13:08:26

Qt Designer

2011-06-29 09:56:29

QT UI 动态加载

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

设计技巧UIAndroid

2011-05-28 15:14:06

设计技巧UIAndroid
点赞
收藏

51CTO技术栈公众号