如何从 QDeclarativeView 获取指向某个 qml 元素的指针

How to get a pointer to some qml element from QDeclarativeView?

本文关键字:qml 元素 指针 QDeclarativeView 获取 取指      更新时间:2023-10-16

我们有一些QDeclarativeView,我们加载并打开了qml文件。如何获取指向其某些元素的指针(例如来自qml的WebView的QWebView,带有一些Id,放置在某个矩形内)?

我认为你需要阅读这个

它解释了如何在名为"从C++加载 QML 组件"的部分中获取对 qml 对象的引用

QML 组件本质上是对象树,其中包含具有兄弟姐妹和自己的子级的子级。可以使用 QObject::objectName 属性和 QObject::findChild() 来定位 QML 组件的子对象。例如,如果 MyItem.qml 中的根项具有子矩形项:

所以如果你需要得到一个参考,你必须写一些类似的东西

QObject *object = yourview.rootObject();
QObject *your_obj = object->findChild<QObject*>("yourobjName");