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

Combine multiple QMainWindow into one as tabs in QTabWidget

本文关键字:选项 一个 QMainWindow 合并 QTabWidget      更新时间:2023-10-16

所以,我的项目被分成多个部分,每个部分独立工作。我和我的小组成员在单独的部分工作,现在我想把它们合并成一个单一的QMainWindow。目前,我有菜单项在每个QMainWindow,使跳跃从一个部分到另一个可能。(通过关闭当前窗口并在同一QApplication内启动另一个窗口)

但是我想做得更优雅,使用QTabWidget,这样每个部分都有自己的标签。我该如何做到这一点?(顺便说一句,我使用QT设计器设计UI)

我做了什么:
-创建一个新窗口,添加一个QTabWidget,从以前的QMainWindow中拖放所有小部件到单独的选项卡。

从设计的角度来看,这是完美的。
然而,我不知道如何组合他们的代码。它们在从QMainWindow继承的单独的类中。

除了手动将所有相关的槽和函数添加到新的主窗口中之外,没有别的方法吗?

由于每个部分都是一个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" );

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

相关文章: