QML17、C++ 与 QML 对象交互

C++ 与 QML 对象交互
所有 QML 对象类型都是 QObject 派生的类型,无论它们是由引擎内部实现还是由第三方源定义。 这意味着 QML 引擎可以使用 Qt 元对象系统来动态实例化任何 QML 对象类型并检查创建的对象。
这对于从 C++ 代码创建 QML 对象很有用,无论是显示可以可视化渲染的 QML 对象,还是将非可视 QML 对象数据集成到 C++ 应用程序中。 一旦创建了 QML 对象,就可以从 C++ 中对其进行检查,以便读取和写入属性、调用方法和接收信号通知。
从 C++ 加载 QML 对象
可以使用 QQmlComponent 或 QQuickView 加载 QML 文档。 QQmlComponent 将 QML 文档加载为 C++ 对象,然后可以从 C++ 代码修改该对象。 QQuickView 也是这样做的,但是由于 QQuickView 是 QWindow 的派生类,所以加载的对象也会被渲染成可视化显示; QQuickView 通常用于将可显示的 QML 对象集成到应用程序的用户界面中。
例如,假设有一个如下所示的 MyItem.qml 文件:
import QtQuick 2.0

Item {
    width: 100; height: 100
}

可以使用 QQmlComponent 或 QQuickView 使用以下 C++ 代码加载此 QML 文档。 使用 QQmlComponent 需要调用 QQmlComponent::create() 来创建组件的新实例,而

你可能感兴趣的:(QML,c++,交互,开发语言)