5

如何在 QMainWindow 中为 3 个小部件创建标签式停靠栏?

我正在使用下面的代码:

widget1 = new QDockWidget(this);
widget1 ->setObjectName("name1");
addDockWidget(Qt::LeftDockWidgetArea, widget1);
widget2 = new QDockWidget(this);
widget2 ->setObjectName("name2");
addDockWidget(Qt::LeftDockWidgetArea, widget2);
tabifyDockWidget(widget2, widget1);
widget3 = new QDockWidget(this);
widget3->setObjectName("name3");
addDockWidget(Qt::LeftDockWidgetArea, widget3);
tabifyDockWidget(widget3, widget1);

此代码导致两个停靠点:单独的 Dock 2,以及 Dock 1 和 3 tabified。

4

1 回答 1

9

要修复,我只需更改第一个和第二个参数的位置:

widget1 = new QDockWidget(this);
widget1 ->setObjectName("name1");
addDockWidget(Qt::LeftDockWidgetArea, widget1);

widget2 = new QDockWidget(this);
widget2 ->setObjectName("name2");
addDockWidget(Qt::LeftDockWidgetArea, widget2);
tabifyDockWidget(widget2, widget1);

widget3 = new QDockWidget(this);
widget3->setObjectName("name3");
addDockWidget(Qt::LeftDockWidgetArea, widget3);
tabifyDockWidget(widget1, widget3);
于 2013-07-12T20:18:29.643 回答