已关闭。此问题需要更多focused。目前不接受回答。
**要改进此问题吗?**更新此问题,使其仅针对editing this post的一个问题。
4天前关闭。
Improve this question的
如果您使用类名MainWindow
创建一个Qt widget应用程序,Qt Creator将为您提供以下模板标题:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
字符串
此模板来源:
#include "mainwindow.h"
#include "./ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
型
什么是ui
?它与this
有什么关系?
1条答案
按热度按时间ltskdhd11#
qt程序
uic
将.ui
文件编译为.h
文件。它创建了一个类,其中包含指向表单中定义的所有小部件的指针,以及一个成员函数setupUi
,该函数构造所有这些小部件,设置表单中指定的属性,顶级widget是传入widget的直接子级(在本例中是MainWindow
示例)。它不会自动显示任何窗口,其他代码会调用主窗口的show
成员。如果创建另一个
Ui::MainWindow
并将其命名为setupUi
,则将使用表单中描述的所有后代小部件填充另一个小部件。