QT学习 第一章:基本对话框--利用Qt Designer设计多个UI界面

QT学习 第一章:基本对话框--利用Qt Designer设计多个UI界面

效果截图:

创建上文件夹Designers,使用Designer设计三个UI界面:

First.ui

Second.ui

Third.ui

下面三个代码文件的源码:

/** Object: Designers ** Desc: Designers 在程序中使用多个UI界面 ** File: main.cpp ** Compile:qmake-qt4 -project;qmake-qt4;make; ** Author: LiXiujie www.xiujie.cn ** Date: 2011-05-20 ** Note: 编译说明: ** qmake-qt4 -prject 自动生成程序的项目文件(*.pro); ** 打开工程文件加入 FORMS += / Second.ui / First.ui / Third.ui ** qmake-qt4 用于生成程序的Makefile文件; ** make 编译 Makefile 文件得到可执行文件。 ** */ #include // 所有QT图形化应用程序必须包含此文件,它包含了QT图形化应用程序的各种资源、基本设置、控制流及事件处理等。 #include #include "MyWidget.h" // 自定义类 int main(int argc, char *argv[]){ QApplication app(argc, argv); MyWidget *dialog = new MyWidget; dialog->show(); return app.exec(); }

/** Object: Designers ** Desc: Designers 在程序中使用多个UI界面 ** File: MyWidget.h ** Class: MyWidget ** Compile:qmake-qt4 -project;qmake-qt4;make; ** Author: LiXiujie www.xiujie.cn ** Date: 2011-05-20 ** Note: 编译说明: ** qmake-qt4 -prject 自动生成程序的项目文件(*.pro); ** qmake-qt4 用于生成程序的Makefile文件; ** make 编译 Makefile 文件得到可执行文件。 ** */ #ifndef MYWIDGET_H #define MYWIDGET_H #include #include "ui_First.h" #include "ui_Second.h" #include "ui_Third.h" class MyWidget : public QWidget { Q_OBJECT public: explicit MyWidget(QWidget *parent = 0); signals: public slots: void slotChild(); private: Ui::First m_firstUI; Ui::Second m_secondUI; Ui::Third m_thirdUI; }; #endif // MYWIDGET_H

/** Object: Designers ** Desc: Designers 在程序中使用多个UI界面 ** File: MyWidget.cpp ** Class: MyWidget ** Compile:qmake-qt4 -project;qmake-qt4;make; ** Author: LiXiujie www.xiujie.cn ** Date: 2011-05-20 ** Note: 编译说明: ** qmake-qt4 -prject 自动生成程序的项目文件(*.pro); ** qmake-qt4 用于生成程序的Makefile文件; ** make 编译 Makefile 文件得到可执行文件。 ** */ #include "MyWidget.h" MyWidget::MyWidget(QWidget *parent) : QWidget(parent){ QTabWidget *pTabWidget = new QTabWidget(this); // TabWidget 控件, 选项卡控件 QWidget *pWidget_first = new QWidget; m_firstUI.setupUi((QDialog*)pWidget_first); QWidget *pWidget_second = new QWidget; m_secondUI.setupUi((QDialog*)pWidget_second); pTabWidget->addTab(pWidget_first, "First Tab"); // 添加一个选项卡 pTabWidget->addTab(pWidget_second, "Second Tab"); pTabWidget->resize(300, 300); // 设置控件宽长 /* 绑定UI界面中按钮点击事件处理函数 */ connect(m_firstUI.pushButton_Child, SIGNAL(clicked()), this, SLOT(slotChild())); connect(m_secondUI.pushButton_Close, SIGNAL(clicked()), this, SLOT(close())); } void MyWidget::slotChild(){ QDialog *pDialog_third = new QDialog; m_thirdUI.setupUi(pDialog_third); connect(m_thirdUI.pushButton_Close, SIGNAL(clicked()), pDialog_third, SLOT(close())); pDialog_third->exec(); // 显示对话框 }

下面三个UI文件源码:

First.ui

First Qt::NonModal 0 0 300 250 Dialog 100 100 100 20 这是第一个 UI!! 200 200 80 25 子窗口

Second.ui

Second 0 0 300 250 Second 100 100 100 20 这是第二个 UI!! 200 200 80 25 关闭

Third.ui

Third 0 0 300 250 Third Dialog 100 100 100 20 这是第三个 UI!! 200 200 80 25 关闭

 

你可能感兴趣的:(QT,情感日记)