我们有一些QDeclarativeView,我们加载并打开了qml文件。如何获取指向它的一些元素的指针(比如qml的WebView中的QWebView带有一些Id,放在某个矩形内)?
答案 0 :(得分:4)
我认为您需要阅读this
它解释了如何在名为“从C ++加载QML组件”的部分中获取对qml对象的引用
QML组件本质上是具有子节点的对象树,其中包含兄弟姐妹和自己的孩子。可以使用带有QObject :: findChild()的QObject :: objectName属性定位QML组件的子对象。例如,如果MyItem.qml中的根项具有子Rectangle项:
因此,如果您需要获得参考,您必须编写类似
的内容QObject *object = yourview.rootObject();
QObject *your_obj = object->findChild<QObject*>("yourobjName");