Desktop_Qt_6_7_0_MinGW_64_bit是一个编译器,可以将ui文件编译为.h文件。我们可以在项目文件下看到这一样一个文件:
QT的C++版本是如何从ui文件编译成C++可以使用的.h文件的-LMLPHP

QT的C++版本是如何从ui文件编译成C++可以使用的.h文件的-LMLPHP
这里的ui_mainwindow.h文件我们可以打开看一下:你会发现你所有的ui设计都被记录在了这里。

/********************************************************************************
** Form generated from reading UI file 'mainwindow.ui'
**
** Created by: Qt User Interface Compiler version 6.7.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_MAINWINDOW_H
#define UI_MAINWINDOW_H

#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QLabel>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QWidget>

QT_BEGIN_NAMESPACE

class Ui_MainWindow
{
public:
    QWidget *centralwidget;
    QPushButton *pushButton;
    QLabel *label;
    QMenuBar *menubar;
    QStatusBar *statusbar;

。。。。。。。。

ui_mainwindow.h文件有什么玄妙之处呢?
我们打开mainwindow.cpp,我们会看到` ui->setupUi(this);`这其实是在初始化界面。于是我们清楚了,在这一行之后,有些没有设置的组件,我们可以手动添加,比如 `ui->label->setText("关闭");`。
```cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
     ui->label->setText("关闭");
}

MainWindow::~MainWindow()
{
    delete ui;
}

05-12 08:43