0
点赞
收藏
分享

微信扫一扫

水厂运行管理与供水安全性分析

唯米天空 2023-11-14 阅读 51

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() 来创建组件的新实例,而

举报

相关推荐

0 条评论