简介
学习Qt中的UI文件调用,记录操作步骤。创建一个基于QMainWindow的MainWindow类并勾选创建.ui文件作为主界面,新建一个基于Dialog类的.ui文件作为子界面,在主界面中调用。
新建一个UI文件
右键工程名称,选择Add New...
新建Qt类别下的Qt Designer Form
文件即创建一个新的.ui文件,新的ui文件需要从模板中选择一个类型使用。
引用ui文件
文件介绍
新建.ui文件后,重新构建工程会后,在工程对应的的build文件夹会多一个ui_xxx.h文件,xxx代表新建.ui文件时输入的文件名称。
头文件引用
在mainwindow.cpp头部包含与新建ui文件对应的.h文件,即#include "ui_xxx.h"
界面调用
在mainwindow.h文件的Ui命名空间添加上class Dialog
并在MainWindow类中声明两个指针
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
class Dialog;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_pushButton_clicked();
void on_Button1_clicked();
private:
Ui::MainWindow *ui;
Ui::Dialog *about;
QDialog *about_param;
};
#endif // MAINWINDOW_H
在mainwindow类的构造函数创建一个ui实例和一个QDialog实例,主界面通过一个按钮触发子界面的显示
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "ui_about.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow),
about(new Ui::Dialog)
{
ui->setupUi(this);
about_param = new QDialog(this);
}
MainWindow::~MainWindow()
{
delete ui;
delete about;
delete about_param;
}
void MainWindow::on_pushButton_clicked()
{
about->setupUi(about_param);
about_param->exec();
}