QML在处理一些UI显示的时候比较擅长,但当涉及到一些后台业务的时候就比较乏力了。这里介绍一下如何通过C++对QML的能力进行扩展。C++访问操作QML的方式主要分为两种:
1.通过findChild查找QML子元素
2.通过QQmlComponent动态创建元素。
下面分别介绍一下两种方式的详细用法。
findChild查找QML子元素
QML的基本元素大多继承自QQuickItem,而QQuickItem继承于QObject。所以QML大多数对象都是QObject的子类,也是可以通过findChild的方式获取到对象指针的。
这里定义一个QML对象,对应的定义如下:
//main.qml
Item {id: rootRectangle {id: myrect//objectName用来识别该对象 objectName: