zoukankan      html  css  js  c++  java
  • Qt之ui在程序中的使用——(2)多继承法

    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页面较多时,使用单继承法则要灵活的多。。


  • 相关阅读:
    phpinfo mac 和 php -moudle里的不一致(mongodb篇)
    0、服务启动前之日志字段和格式
    P3740 贴海报
    树状数组区间修改and查询和
    P1823 Patrik 音乐会的等待
    西安段素扫描线
    P1903 数颜色
    P1220 关路灯
    [p1559] 运动员最佳匹配问题
    treap数组版
  • 原文地址:https://www.cnblogs.com/hanzhaoxin/p/2767503.html
Copyright © 2011-2022 走看看