在多个ui文件之间分割Qt表单
Splitting Qt forms between multiple ui files
我在Qt设计器中创建了一个主窗口UI文件。为了避免混乱并使代码更加模块化,我想在单独的ui文件中创建此窗口的某些部分。
例如,我可能有一个标签小部件在主窗口,然后我想有单独的页面1。UI和page2。ui,然后我可以将其"嵌入"到主窗口中。
是可能的只是UI文件,还是我需要为每个额外的小部件创建一个类?
我正在考虑创建单独的类Page1UI
和Page2UI
,它们从qmake生成的ui_page1.h
和ui_page2.h
公开继承(以便它们内部的小部件可以从主窗口轻松访问),然后将主窗口的占位符小部件提升到这些类。所以在代码中,我要写这样的东西例如:
connect (page1->ui->someButtonFromPage1uiFile, ..., this->ui->someMainWindowWidget, ...);
然而Qt文档似乎没有提到公共继承,所以我想知道这是否是正确的方法,或者是否有一个更简单的方法。
您不需要继承。这些UI文件只是小部件。你当然可以这么做。你应该有一个主类,将有一个标签小部件,然后只是添加你的page1, page2等在主标签小部件。在我看来,你需要的是构图。
你需要做的是创建一个从QWidget
派生的单独的类,它将包含你生成的UI表单的对象。您需要在新类中调用生成表单的setupUI()
,并将this
作为参数。
相关文章:
- Qt VTK交互风格的信号到小部件
- QT在错误的班级中寻找空位
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 如何在Qt C++中更改光标
- 如何在C++中从字符串中分割字符
- C++映射分割错误(核心转储)
- 如何在MS Visual Studio 2019中运行QT UI
- QT通过C++添加映射QML项目
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用Qt C++计算类似Git的SHA1哈希
- Qt focusObjectChanged example?
- 如何在cpp文件之间切换窗口?在Qt中
- 集合布局上的 Qt 分割错误
- C++Qt QPixmap分割错误
- Qt分割器与空的小部件
- 函数返回时Qt分割错误
- 在多个ui文件之间分割Qt表单