添加多个 QDockWidget

Adding multiple QDockWidget's

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

我可以按如下方式添加QDockWidgets:

QDW1 QDW2;
QDW3 QDW4;

通过使用代码

QDockWidget *dwidget = new QDockWidget(tr("QDW1"), this);
addDockWidget(Qt::LeftDockWidgetArea, dwidget);
dwidget = new QDockWidget(tr("QDW2"), this);
dwidget->show();
addDockWidget(Qt::LeftDockWidgetArea, dwidget);
QDockWidget *dwidget2 = new QDockWidget(tr("QDW2"), this);
addDockWidget(Qt::RighttDockWidgetArea, dwidget2);
dwidget2 = new QDockWidget(tr("QDW4"), this);
dwidget2->show();
addDockWidget(Qt::RighttDockWidgetArea, dwidget2);

现在我想添加如下:

我想添加总共6个QDockWidgets

QDW1 QDW2 QDW3;
QDW4 QDW5 QDW6;

你能告诉我如何在这个2X3格式中添加dock小部件吗?

谢谢你的帮助。

HBS

这应该可以做到:

QDockWidget *dwidget = new QDockWidget(tr("QDW1"), this);
addDockWidget(Qt::RightDockWidgetArea, dwidget);
QDockWidget *dwidget2 = new QDockWidget(tr("QDW2"), this);
splitDockWidget(dwidget, dwidget2, Qt::Horizontal);
QDockWidget *dwidget3 = new QDockWidget(tr("QDW3"), this);
addDockWidget(Qt::RightDockWidgetArea, dwidget3);
QDockWidget *dwidget4 = new QDockWidget(tr("QDW4"), this);
splitDockWidget(dwidget3, dwidget4, Qt::Horizontal);
QDockWidget *dwidget5 = new QDockWidget(tr("QDW5"), this);
addDockWidget(Qt::RightDockWidgetArea, dwidget5);
QDockWidget *dwidget6 = new QDockWidget(tr("QDW6"), this);
splitDockWidget(dwidget5, dwidget6, Qt::Horizontal);

这是一个非常简单的答案,也许我遗漏了一些东西——你不能在顶部和底部的DockWidgetArea中各添加三个吗?您的主要小部件/布局是什么样子的?通常dockWidgets不是唯一的内容,不是吗?