2012-02-08 56 views
0

我使用Qt设计器创建了一个具有一些dockwidgets的表单,这些dockwidgets有一些子部件。我如何在我的mainwindow.cpp中访问dockwidget和这些子部件?Qt设计器Dock部件子部件

回答

5

我强烈建议你阅读了这些事情的文档,但给你一个小脑袋开始,QDockWidget从QWidget中,从QObject的继承继承:

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

小窗口>儿童()只会告诉你这个小部件的孩子。如果您不知道要直接访问的对象的名称,或者没有提及它们,则需要这样做。

更新

当你在Qt Designer中创建对象,而您运行为您生成的setupUi(本),您的主窗口内,你便要你有小部件的访问成立为成员。你可以直接访问它们,因为它们是在Qt Designer中命名的。请查看关于Qt入门的众多教程之一。这是一个将告诉您如何使用您的UI文件,并从它访问的成员:http://sector.ynet.sk/qt4-tutorial/my-first-qt-gui-application.html

+0

我在询问如何访问docwidget本身,然后访问其子节点。 – 2012-02-08 20:49:52

+2

@Menopia - 我认为你对我投票不公平,因为你没有阅读文档,甚至没有阅读关于qt的任何入门级信息。 – jdi 2012-02-09 00:19:06

+0

是真的。他没有像通常那样给你任何废话。他给了你一个简短的回答和许多写得很好的文档。 – chikuba 2012-02-09 02:06:36

2

您也可以从主窗口的所有dockWidgets的列表,

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

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