Qt Window编程—— 快速创建界面

来源:互联网 发布:不用网络的好玩游戏 编辑:程序博客网 时间:2024/04/30 12:56
 为了能够提高开发的速度,Qt开发了designer工具完成GUI部分的设计,这可以使我们在开发Qt的程序时将主要精力放在功能函数的设计与实现上。下面以一个简单的例子来说明一下如何利用designer及ui文件快速的实现应用程序开发。


    第一步:打开Qt designer,创建一个简单的主界面,主界面继承QWidget,名为Form,将该文件保存至c:/Qt/QtProject/test下,文件名为test.ui。

  

    第二步:从vs2008中启动Command prompt,进入到工程所在的文件夹,输入uic -o ui_test.h test.ui,可以看到生成了一个名为ui_test.h的头文件。


    第三步:创建test.h,并输入:

[c-sharp] view plaincopyprint?
  1. #ifndef HELLO_H 
  2. #define HELLO_H  
  3. #include <QtGui/QWidget> 
  4. #include "ui_test.h"  
  5. class MainWindow : public QWidget, public Ui::Form  
  6. {  
  7.     Q_OBJECT  
  8. public:  
  9.     MainWindow(QWidget *parent = 0);  
  10. };  
  11. #endif  

    这里的Ui:Form是uic根据test.ui所生成的一个主界面的类,我们创建一个MainWindow类继承Ui::Form及QWidget,为了让例子更简单,因此该类中仅仅包含一个构造函数。

 

    第三步:创建test.cpp,输入:

[c-sharp] view plaincopyprint?
  1. #include <QtGui/QWidget> 
  2. #include "Hello.h"  
  3. MainWindow::MainWindow(QWidget *parent)  
  4.     : QWidget(parent)  
  5. {  
  6.     setupUi(this);  
  7. };  
 

    setupUi()函数为我们的程序构造主界面,在这里应用程序只有一个主界面,即是它本身,因此,这里使用setupUi(this)来构造本身的界面。

 

    第四步:创建main.cpp,输入:

[cpp] view plaincopyprint?
  1. #include <QtGui/QApplication>  
  2. #include "Hello.h"  
  3. int main(int argc, char *argv[])  
  4. {  
  5.     QApplication app(argc, argv);  
  6.     MainWindow *widget = new MainWindow;  
  7.     widget->show();  
  8.     return app.exec();  
  9. }  

    Qt main函数就不用多解释了。

 

    第五步:创建project文件和Makefile文件,并生成可执行文件:

    qmake -project           // 生成pro文件

    qmake test.pro          // 生成Makefile文件

    nmake                       // 编译代码,生成可执行文件。

 

    所有的界面部分的工作都可以采用上述方法来实现。这就省去了手动编码实现界面的工作量。有了designer和uic工具,你只需要花几分钟的时间来构造你的界面,然后可以专心的设计你的槽函数了。