zoukankan      html  css  js  c++  java
  • 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();
    }
    

    结果

  • 相关阅读:
    hdu 4273 2012长春赛区网络赛 三维凸包中心到最近面距离 ***
    hdu 4272 2012长春赛区网络赛 dfs暴力 ***
    hdu 4063 福州赛区网络赛 圆 ****
    hdu 4069 福州赛区网络赛I DLC ***
    hdu 4061 福州赛区网络赛A 数学 ***
    hdu 4068 福州赛区网络赛H 排列 ***
    hdu 4070 福州赛区网络赛J 贪心 ***
    hdu 5366 组合数 *
    linux的rsync工具的常用选项及ssh同步介绍
    从U盘安装CentOS7.3教程
  • 原文地址:https://www.cnblogs.com/niu-li/p/12612011.html
Copyright © 2011-2022 走看看