0

我有一个名为“SeasonCreator”的 Qt 小部件项目,我想知道 Qt 小部件项目的结构。

ui_seasoncreator.h 文件是隐藏的,但是当您查看它时,它定义了一个名为“Ui”的命名空间,其中声明了一个 SeasonCreator 类,该类继承自 Ui_SeasonCreator,即 c.

在 seasoncreator.h 文件中,还有一个名为“Ui”的命名空间,还有一个名为“SeasonCreator”的类的声明。当我单击找到它的原始声明时,它会将我带到 ui_seasoncreator.h 文件中的 Ui::SeasonCreator 声明。

这些命名空间和类的目的是什么?这两个定义有关系吗?

这些 Ui::SeasonCreator 声明是否与 seasoncreator.h 中的自定义 SeasonCreator 类有关?

4

1 回答 1

3

这些命名空间和类的目的是什么?

ui_XXX.h 中的代码是您使用设计器创建表单时自动生成的代码。它被放入 Ui 命名空间。

这两个定义有关系吗?

我假设您指的是看起来像这样的东西:

namespace Ui { class SeasonCreator; }

这是类的前向声明,它是生成代码的一部分,使您的类可以访问自定义表单中的小部件。

这些 Ui::SeasonCreator 声明是否与 seasoncreator.h 中的自定义 SeasonCreator 类有关?

它将您的自定义代码与生成的代码链接在一起。您可能应该有一个名为 的自定义类的成员变量Ui::SeasonCreator *ui,它是您用来访问生成的 Ui 类的对象。

于 2012-08-14T02:19:14.817 回答