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

    结果

  • 相关阅读:
    P3383 【模板】线性筛素数
    POJ2431-Expedition【优先队列+贪心】
    HDU1087
    HDU1029
    最小生成树之Kruskal算法
    AC自动机模板
    328闯关解析
    php可获取客户端信息
    $( ).focus()与$( )[0].focus()区别
    RegExp类型和text()方法
  • 原文地址:https://www.cnblogs.com/niu-li/p/12612011.html
Copyright © 2020-2023  润新知