如何获取QDockWidgetArea中的dockwidgets列表?

时间:2017-10-30 18:50:32

标签: c++ qt qt5

要将QDockWidget添加到窗口,您需要调用addDockWidget(area, *widget)

其中areaQt::DockWidgetArea

我的问题是,在将QDockWidgets添加到某个区域之后,是否可以获取该区域中所有QDockWidgets的列表?

当然,可以使用QObject::findChild<QDockWidget>,遍历结果,然后使用QMainWindow::dockWidgetArea(widget)编译所需区域中所有小部件的列表。

但我想知道是否有更好的方法?看起来像是&#34; getDockWidgetsInArea&#34;功能应该已经存在。

1 个答案:

答案 0 :(得分:0)

为什么不覆盖QMainWindow?您可以创建自己的getDockWidgetsInArea函数并创建 Wt::WPushButton *open_doors_button = new Wt::WPushButton("open all"); container_box->addWidget(open_doors_button); open_doors_button->clicked().connect(boost::bind(&Servicemode::doors_open_all, this)); Wt::WPushButton *stop_doors_button = new Wt::WPushButton("stop opening"); container_box->addWidget(stop_doors_button); stop_doors_button->clicked().connect(boost::bind(&Servicemode::stop_doors_open_all, this)); 函数。