将多个QMainWindow合并为一个作为QTabWidget中的选项卡

时间:2014-03-24 13:57:40

标签: python c++ qt qt-designer

所以,我的项目分为多个部分,每个部分独立工作。我和我的小组成员处理各个部分,现在我想将所有这些成员合并为一个QMainWindow。目前我在每个QMainWindow中都有菜单项,可以从一个部分跳到另一个部分......(通过关闭当前窗口并在同一个QApplication内启动另一个部分)

但我希望使用QTabWidget更优雅地做到这一点,以便每个部分都有自己的标签。我该如何实现这一目标? (顺便说一下,我正在使用QT Designer来设计UI)

我做了什么:
- 制作一个新窗口,添加QTabWidget,将之前QMainWindow中的所有小部件拖放到单独的标签中。

从设计角度来看,这非常有效。
但是,我不知道如何组合他们的代码。它们位于从QMainWindow继承的单独类中。

除了手动将所有相关的插槽和功能添加到新的mainWindow中之外,没办法吗?

1 个答案:

答案 0 :(得分:0)

由于每个部分都是QMainWindow,每个QMainWindow都可以放在tabWidget中。

假设Portion_one_QMainWindow派生自QMainWindow。 我使用的工作代码类似于以下代码:

QTabWidget *tabMaster = new QTabWidget;   
Portion_one_QMainWindow *Portion_one = new Portion_one_MainWindow;
tabMaster.addTab(Portion_one, QIcon("images/portion_one.png"), "name_of_portion_one" );

最大的努力是将部分代码检索到一个公共位置,以便构建您的"主启动器"。