添加多个QDockWidget' s

时间:2014-04-17 08:54:02

标签: c++ qt opengl

我可以按如下方式添加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

2 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

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

答案 1 :(得分:0)

这是一个非常简单的答案,也许我错过了一些东西 - 你不能只在顶部和底部DockWidgetArea中添加三个? 您的主要小部件/布局如何?通常dockWidgets不是唯一的内容,不是吗?