将 QMdiSubWindow 添加到当前 QStackedLayout

Add QMdiSubWindow to current QStackedLayout

本文关键字:QStackedLayout QMdiSubWindow 添加      更新时间:2023-10-16

所以我有这个代码:

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)。

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