在QT项目中添加并使用多个UI布局界面

  • Post author:
  • Post category:其他


在工程的“界面文件”文件夹上右键选择“添加新文件”;

选择“Qt -> Qt Designer Form”添加新的布局文件;

新建两个.ui文件 dialog1.ui,dialog2.ui

记住要修改一下objectName的内容,不然所有的objectName的内容都为Dialog就不好了

这里写图片描述

以dialog1为例

改完之后,要先编译一下,这是会自动生成ui_dialog1.h文件

添加头文件和源文件


dialog1.h

#ifndef DIALOG1_H
#define DIALOG1_H
#include <QDialog>

namespace Ui {

class Dialog1;

}

class Dialog1 : public QDialog

{

    Q_OBJECT

public:

    explicit Dialog1(QWidget *parent = 0);

    ~Dialog1();
private:
    Ui::Dialog1 *ui;
};
#endif // DIALOG1_H


dialog1.cpp

#include "ui_dialog1.h"
#include "dialog1.h"
Dialog1::Dialog1(QWidget *parent) :

    QDialog(parent),

    ui(new Ui::Dialog1)

{

    ui->setupUi(this);

    setWindowTitle("dialog1");

}

Dialog1::~Dialog1()

{

    delete ui;

}

dialog2同理

然后在主程序中创建对象,并调用show方法即可


main.cpp

#include "mainwindow.h"
#include "dialog1.h"
#include "dialog2.h"
#include <QApplication>
#include <QDialog>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    Dialog1 d1;
    Dialog2 d2;
    w.show();
    d1.show();
    d2.show();

    return a.exec();
}

在所有的工作做完之后,点运行,可能会出现冲突导致程序终止的问题,这时点击工具栏中的“

构建

”,然后点击“

执行qmake

”,之后再点击运行就会出现三个窗口,一个主窗口,两个对话框



版权声明:本文为bestcleaner原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。