QT 重载需要#include "ui_.h"吗
时间: 2023-07-30 09:10:22 浏览: 147
通常情况下,重载 Qt 类的时候是不需要包含 `ui_*.h` 头文件的。`ui_*.h` 文件是由 Qt 的用户界面设计工具 Qt Designer 自动生成的,用于声明 UI 控件的类。如果您在 Qt Designer 中创建了自定义的 UI 窗体,那么它将自动为您生成一个 `ui_*.h` 头文件,并包含 UI 控件的声明。在您的代码中,您只需要包含窗体类的头文件,而不是 `ui_*.h` 文件。
例如,如果您创建了一个名为 `MyForm.ui` 的窗体,并将其编译为 `ui_MyForm.h` 文件,则在您的代码中,您只需要包含 `MyForm.h` 文件即可,而不需要包含 `ui_MyForm.h` 文件。
另外,如果您需要在窗体类中使用 UI 控件,可以使用 `ui` 指针来访问它们。`ui` 指针是窗体类的一个成员,用于访问 UI 控件。例如:
```cpp
#include "MyForm.h"
MyForm::MyForm(QWidget *parent) :
QWidget(parent),
ui(new Ui::MyForm)
{
ui->setupUi(this);
// 访问 UI 控件
ui->pushButton->setText("Click me!");
}
MyForm::~MyForm()
{
delete ui;
}
```
在这个示例中,我们在窗体类的构造函数中访问了一个名为 `pushButton` 的 UI 控件,并设置了它的文本。注意,我们是通过 `ui` 指针来访问控件的,而不是直接访问 `ui_*.h` 文件中的类。
阅读全文