我使用Qt Designer创建了一个表单,它有一些dockwidgets,这些dockwidgets有一些子窗口小部件。我如何在mainwindow.cpp中访问dockwidget和这些子窗口小部件?
答案 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 *>();
类似的技术适用于获取工具栏等,因此您不必在创建列表时手动存储列表