【发布时间】:2014-05-15 10:58:17
【问题描述】:
我在 Qt Designer 中创建了一个主窗口 UI 文件。为了避免混乱并使代码更加模块化,我想在单独的 ui 文件中创建此窗口的某些部分。
例如,我可能在主窗口上有一个选项卡小部件,然后我希望有单独的 page1.ui 和 page2.ui,然后我可以将它们“嵌入”到主窗口中。
是否可以仅使用 UI 文件,或者我是否需要为每个额外的小部件创建一个类?
我正在考虑创建单独的类 Page1UI 和 Page2UI,它们公开继承自 qmake 生成的 ui_page1.h 和 ui_page2.h(以便可以从主窗口轻松访问其中的小部件),然后推广这些类的主窗口占位符小部件。所以在代码中我会有这样的东西,例如:
connect (page1->ui->someButtonFromPage1uiFile, ..., this->ui->someMainWindowWidget, ...);
但是 Qt documentation 似乎没有提到公共继承,所以我想知道这是否是正确的方法,或者是否有更简单的方法。
【问题讨论】:
-
您可以在您的用户界面中使用自定义 QWidget,方法是将标准 QWidget“提升”为您想要放置的类型,
-
@ratchetfreak 我在问题中说过。我想知道是否a)我需要为每个UI文件创建一个单独的文件,或者我可以以某种方式将它们直接嵌入到彼此中; b) 公共继承是创建我的自定义小部件的好方法吗?
标签: c++ qt inheritance user-interface qt-designer