Qt之ui在程序中的使用——(1)单继承法

ui:user interface(用户界面)

void QWidget::setupUi ( QWidget * widget )的功能是设置用户界面到指定的部件;

例:

  1. QDialog *dlg_example = new QDialog;  
  2. Ui::example ui_example;    //ui_example是dlg_example对应的用户界面  
  3. ui_example.setupUi(dlg_example);     //关联用户界面与程序中的对象  

程序实例(一):

利用Qt Designer生成3个简单的ui,在使用时,两个ui插入到主程序的QTabWidget中,另一个ui由按钮触发,主窗口MyWidget采用手动编写代码的方式实现。

效果图,如下:

Qt之ui在程序中的使用——(1)单继承法Qt之ui在程序中的使用——(1)单继承法

Qt之ui在程序中的使用——(1)单继承法

MyWidget.h

  1. #ifndef MYWIDGET_H  
  2. #define MYWIDGET_H  
  3.   
  4. #include <QtGui>  
  5. #include "ui_first.h"  
  6. #include "ui_second.h"  
  7. #include "ui_third.h"  
  8.   
  9. class MyWidget : public QWidget  
  10. {  
  11.     Q_OBJECT  
  12.   
  13. public:  
  14.     MyWidget(QWidget *parent = 0, Qt::WFlags flags = 0);  
  15.     ~MyWidget();  
  16.   
  17. private:  
  18.     Ui::First firstUi;  
  19.     Ui::Second secondUi;  
  20.     Ui::Third thirdUi;  
  21.       
  22.     private slots:  
  23.         void on_btnChild_clicked();  
  24. };  
  25.   
  26. #endif // MYWIDGET_H  

Mywidget.cpp

  1. #include "mywidget.h"  
  2.   
  3. MyWidget::MyWidget(QWidget *parent, Qt::WFlags flags)  
  4.     : QWidget(parent, flags)  
  5. {  
  6.     QTabWidget *tabWidget = new QTabWidget(this);  
  7.   
  8.     QDialog *w1 = new QDialog;  
  9.     firstUi.setupUi(w1);  
  10.   
  11.     QWidget *w2 = new QWidget;  
  12.     secondUi.setupUi(w2);  
  13.   
  14.     tabWidget->addTab(w1,tr("First Tab"));  
  15.     tabWidget->addTab(w2,tr("Second Tab"));  
  16.     tabWidget->resize(300,300);  
  17.   
  18.     connect(firstUi.btnClose,SIGNAL(clicked()),this,SLOT(close()));  
  19.     connect(secondUi.btnChild,SIGNAL(clicked()),this,SLOT(on_btnChild_clicked()));  
  20. }  
  21.   
  22. MyWidget::~MyWidget()  
  23. {  
  24.   
  25. }  
  26.   
  27. void MyWidget::on_btnChild_clicked()  
  28. {  
  29.     QDialog *dlg = new QDialog;  
  30.     thirdUi.setupUi(dlg);  
  31.     dlg->exec();  
  32. }  

main.cpp

  1. #include "mywidget.h"  
  2. #include <QtGui/QApplication>  
  3.   
  4. int main(int argc, char *argv[])  
  5. {  
  6.     QApplication a(argc, argv);  
  7.     MyWidget w;  
  8.     w.show();  
  9.     return a.exec();  
  10. }  
作者:韩兆新
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
标签: Qt学习笔记

本文转自韩兆新博客博客园博客,原文链接:http://www.cnblogs.com/hanzhaoxin/archive/2012/11/12/2767149.html,如需转载请自行联系原作者
上一篇:Py之textgenrnn:textgenrnn库的简介、安装、使用方法详细攻略


下一篇:PHP面向对象的三大特征: 继承,封装,多态