簡介
學習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();
}