Qt Designer dock小部件访问儿童

时间:2012-02-08 18:58:12

标签: qt qt4 qt-designer qdockwidget

我使用Qt Designer创建了一个表单,它有一些dockwidgets,这些dockwidgets有一些子窗口小部件。我如何在mainwindow.cpp中访问dockwidget和这些子窗口小部件?

2 个答案:

答案 0 :(得分:5)

我强烈建议您阅读这些类型的文档,但为了给您一点启动,QDockWidget继承自QObject继承自QW:

https://doc.qt.io/qt-4.8/qobject.html#children

widget-> children()只会告诉你这个小部件的子节点。如果您还不知道要直接访问的对象的名称,或者没有引用它们,则需要这样做。

<强>更新

在Qt Designer中创建对象,并运行在MainWindow内部为您生成的setupUi(this)时,您将可以访问已设置为成员的所有小部件。您可以直接访问它们,因为它们在Qt Designer中命名。请查看有关Qt入门的众多教程之一。这是一个向您展示如何使用您的UI文件,并从中访问成员:http://sector.ynet.sk/qt4-tutorial/my-first-qt-gui-application.html

答案 1 :(得分:2)

您还可以使用

从主窗口获取所有dockWidgets的列表

QList<QDockWidget *> dockWidgets = findChildren<QDockWidget *>();

类似的技术适用于获取工具栏等,因此您不必在创建列表时手动存储列表