将QMdiSubWindow添加到当前QStackedLayout

时间:2015-04-20 07:12:06

标签: c++ qt qt5 qt5.4 qmdiarea

所以我有这段代码:

QStackedLayout *layout = new QStackedLayout;

QMdiArea *mdi1 = new QMdiArea;
mdi1->addSubWindow(new QMdiSubWindow);

layout->addWidget(mdi1);

QMdiArea *a = (QMdiArea *) layout->currentWidget();
a->addSubWindow(new QMdiSubWindow);

由于某种原因不起作用。我想要做的是获取布局中显示的小部件 - 作为QMdiArea,然后添加一个子窗口。

P.S。这是完整应用程序的简化版本。直接向mdi1添加一个子窗口会起作用,但它不是我想要的(因为QStackedLayout中有很多QMdiArea)。

1 个答案:

答案 0 :(得分:0)

所以答案是我需要使用QStackedWidget 而不是的QStackedLayout。