0

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

4

2 回答 2

5

我强烈建议阅读这些类型的文档,但为了让你有一点先见之明,QDockWidget 继承自 QWidget,QWidget 继承自 QObject:

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

于 2012-02-08T19:05:35.307 回答
2

您还可以从主窗口获取所有dockWidgets的列表

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

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

于 2012-04-13T16:42:53.337 回答