thirdDialog.h
- #ifndef THIRDDIALOG_H
- #define THIRDDIALOG_H
- #include <QtGui>
- #include "ui_third.h"
- class thirdDialog:public QDialog,private Ui::Third
- {
- Q_OBJECT
- public:
- thirdDialog(QWidget *parent=0);
- ~thirdDialog();
- };
- #endif
thirdDialog.cpp
- #include "thirdDialog.h"
- thirdDialog::thirdDialog(QWidget *parent)
- {
- setupUi(this);
- }
- thirdDialog::~thirdDialog()
- {
- }
maindialog.h
- #ifndef MAINDIALOG_H
- #define MAINDIALOG_H
- #include <QtGui>
- #include "ui_first.h"
- #include "ui_second.h"
- #include "thirdDialog.h"
- class MainDialog : public QDialog
- {
- Q_OBJECT
- public:
- MainDialog(QWidget *parent = 0, Qt::WFlags flags = 0);
- ~MainDialog();
- private:
- Ui::First firstUi;
- Ui::Second secondUi;
- private slots:
- void on_btnChild_clicked();
- };
- #endif // MAINDIALOG_H
maindialog.cpp
- #include "maindialog.h"
- MainDialog::MainDialog(QWidget *parent, Qt::WFlags flags)
- : QDialog(parent, flags)
- {
- QTabWidget *tabWidget = new QTabWidget(this);
- QDialog *w1 = new QDialog;
- firstUi.setupUi(w1);
- QWidget *w2 = new QWidget;
- secondUi.setupUi(w2);
- tabWidget->addTab(w1,tr("First Tab"));
- tabWidget->addTab(w2,tr("Second Tab"));
- tabWidget->resize(300,300);
- connect(firstUi.btnClose,SIGNAL(clicked()),this,SLOT(close()));
- connect(secondUi.btnChild,SIGNAL(clicked()),this,SLOT(on_btnChild_clicked()));
- }
- MainDialog::~MainDialog()
- {
- }
- void MainDialog::on_btnChild_clicked()
- {
- thirdDialog *dlg = new thirdDialog;
- dlg->exec();
- }
分析:
多继承方式可直接对ui界面上的控件或函数进行操作,代码编写更简洁;
而是用单继承方式,在操作ui页面上的控件时需加上ui对象前缀,编写代码较为麻烦。
但,对于程序中所需ui页面较多时,使用单继承法则要灵活的多。。
作者:韩兆新
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
分类: [02]Qt语言基础
标签: Qt学习笔记
本文转自韩兆新博客博客园博客,原文链接:http://www.cnblogs.com/hanzhaoxin/archive/2012/11/13/2767503.html,如需转载请自行联系原作者