我一直试图让两个QDockWidget
并排放置,而是在主窗口的左边缘和另一个在主窗口的右边缘。
我已经尝试过Qt论坛的所有解决方案。左侧停靠窗口小部件使用LeftDockWidgetArea
,右侧使用RightWidgetArea
。我也叫了
setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea);
setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
addDockWidget(Qt::LeftDockWidgetArea, leftDockWidget);
addDockWidget(Qt::RightDockWidgetArea, rightDockWidget);
但是底座小部件总是并排放置。我做错了什么?
答案 0 :(得分:0)
从Qt 5开始,以下代码在Windows和Linux上都可以使用。
#include <QDockWidget>
...
QDockWidget* leftDockWidget = new QDockWidget(tr("Left Dock Widget"), this);
leftDockWidget->setAllowedAreas(Qt::LeftDockWidgetArea);
this->addDockWidget(Qt::LeftDockWidgetArea,leftDockWidget);
//
QDockWidget* rightDockWidget = new QDockWidget(tr("Right Dock Widget"), this);
rightDockWidget->setAllowedAreas(Qt::RightDockWidgetArea);
this->addDockWidget(Qt::RightDockWidgetArea, rightDockWidget);