Qt的UI文件使用


簡介

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

結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM