官文:https://doc.qt.io/qt-6/qtqml-index.html

Qt QML 模块提供了使用 QML 语言开发程序和库的框架。它定义并实现了语言和引擎基础设施,并提供了一个 API,使开发者能够使用自定义类型扩展 QML 语言,并将 QML 代码与 JavaScript 和 C++ 集成。 Qt QML 模块提供 QML APIC++ API

需要注意的是,虽然 Qt QML 模块提供了语言和基础设施,但 Qt Quick 模块提供了许多可视化组件、model-view 支持、动画框架以及用于构建用户界面的更多内容。

对于新手,请参阅 QML Applications 以了解编写 QML 程序的介绍。

1. 使用模块

1.1 QML API

在 .qml 文件中导入 QtQml 就可以使用 Qt QML 中的 QML 类型:

  1. import QtQml

1.2 C++ API

使用 C++ API 需要直接或通过其他依赖项链接到模块库。一些构建工具对此有专门的支持,包括 CMake 和 qmake。

1.2.1 CMake 构建

  1. find_package(Qt6 COMPONENTS Qml REQUIRED)
  2. target_link_libraries(mytarget PRIVATE Qt6::Qml)

请参阅 Build with CMake

1.2.2 qmake 构建

  1. QT += qml

2. QML 和 QML 类型

Qt QML 模块包含了 QML 框架和 QML 类型。QML 的构造在 The QML Reference 中进行了描述。除了 QML Basic Types 之外,该模块还附带以下 QML 对象类型:

Qt 全局对象为各种 QML 类型提供有用的枚举和函数。

2.1 列表和模型

Qt 5.1 中的新功能,模型类型被移动到子模块 QtQml.ModelsQt QML Models 页面有更多信息。

此外,Qt 6.2.1 中的 Qt QML 可能包含以下许可许可下的第三方模块:

JavaScriptCore Macro Assembler BSD 2-clause “Simplified” License

6. 更多指南