zoukankan      html  css  js  c++  java
  • 设计时加载UI

    1.首选创建三个ui窗体,分别为first.ui(ui_first.h),second.ui(ui_second.h),third.ui(ui_third.h)

    2.再创建一个包含三个ui的头文件,并新建一个MyWidget类调用这三个窗体,并写入信号槽实现代码

    头文件mywidget.h

    #ifndef MYWIDGET_H

    #define MYWIDGET_H

     

    #include <QtGui>

     

    #include "ui_first.h"

    #include "ui_second.h"

    #include "ui_third.h"

     

    class MyWidget : public QWidget

    {

    Q_OBJECT

    public:

    MyWidget(QWidget *parent=0);

     

    public slots:

    void slotChild();

     

    private:

    Ui::First firstUi;

    Ui::Second secondUi;

    Ui::Third thirdUi;

    };

     

    #endif

     

    mywidget.cpp:

    #include "mywidget.h"

     

    MyWidget::MyWidget(QWidget *parent)

    : QWidget(parent)

    {

     

     

    QTabWidget *tabWidget = new QTabWidget(this);

     

    QWidget *w1 = new QWidget;

    firstUi.setupUi(w1);

     

    QWidget *w2 = new QWidget;

    secondUi.setupUi(w2);

     

    tabWidget->addTab(w1,"First");

    tabWidget->addTab(w2,"Second");

     

    tabWidget->resize(500,500);

     

    connect(firstUi.childPushButton,SIGNAL(clicked()),this,SLOT(slotChild()));

    connect(secondUi.closePushButton,SIGNAL(clicked()),this,SLOT(close()));

    }

     

    void MyWidget::slotChild()

    {

    QDialog *dlg = new QDialog;

    thirdUi.setupUi(dlg);

    dlg->exec();

    }

     

     

    主文件main.cpp:

    #include "mywidget.h"

    int main(int argc,char *argv[])

    {

    QApplication app(argc,argv);

    QFont font("ZYSong18030",12);

    app.setFont(font);

    w->show();

    return app.exec();

    }

    
  • 相关阅读:
    todo-list
    codeforces 794 (#414 DIV1+DIV2)
    2018bnu校赛总结
    codeforces 743D
    HDU-2196 Computer (树形DP)
    HDU- 1005 Number Sequence(矩阵快速幂)
    HDU- 4000 Fruit Ninja(树状数组)
    codeforces 505C
    codeforces 286B
    codeforces 3D
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2012853.html
Copyright © 2011-2022 走看看