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


  • 相关阅读:
    [转]nmake命令(windows下的makefile)
    [转]Visual Studio 2010 C++ 工程文件解读
    [转]开源库的编译
    强软弱虚引用试验
    ArtHas JVM在线排查工具
    JVM常用参数
    CMS两个常见问题
    jvisual vm连接
    jconsole连接
    JVM调优
  • 原文地址:https://www.cnblogs.com/hanzhaoxin/p/2767503.html
Copyright © 2011-2022 走看看