• 104阅读
  • 2回复

C++ 代码中访问 qml 对象的问题 [复制链接]

上一主题 下一主题
离线hncllyy
 

只看楼主 倒序阅读 楼主  发表于: 06-29
针对单一qml文件,可以通过objectName属性获取, 但问题是, 如果是多个qml文件,而需要获取的objectName对象不是在main.qml文件内,而是由loader加载的qml文件, 怎么获取对象呢??
离线lemonzll

只看该作者 1楼 发表于: 06-29
loader加载完成以后,用findChild配合objectName来查找对应的对象。还有种方式,你弄个cpp类,在qml里面调用cpp类的slot函数或者property,把qml里面的对象当作函数参数传过去。例如cpp里面有个slot函数void setObject(QObject* item),qml里面你要把id是a的qml对象传过去,你加上Component.onCompleted: cpp.setObject(a)就可以了
离线hncllyy

只看该作者 2楼 发表于: 07-02
回 lemonzll 的帖子
lemonzll:loader加载完成以后,用findChild配合objectName来查找对应的对象。还有种方式,你弄个cpp类,在qml里面调用cpp类的slot函数或者property,把qml里面的对象当作函数参数传过去。例如cpp里面有个slot函数void setObject(QObject* item),qml里面你要把id是a的qml对象传过去,你加上 .. (2020-06-29 17:39) 

非常感谢你, 确实是个好主意。
只是目前已经解决了遇到的问题,暂时不能尝试你的这种方法了。
快速回复
限100 字节
 
上一个 下一个