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

结果

原文地址:https://www.cnblogs.com/niu-li/p/12612011.html