Qt QML 模块为开发应用程序和库提供框架,采用 QML 语言 。它定义并实现语言和引擎基础设施,还提供使应用程序开发人员能够采用自定义类型扩展 QML 语言和采用 JavaScript C++ 集成 QML 代码的 API。Qt QML 模块提供 QML API 和 C++ API .
注意,虽然 Qt QML 模块为 QML 应用程序提供了语言和基础设施,但 Qt Quick 模块为构建用户界面提供了更多视觉组件、模型 视图支持、动画框架、等。
对于 QML 和 Qt Quick 的新手而言,请参阅 QML 应用程序 了解编写 QML 应用程序的介绍。
Qt QML 中的 QML 类型是可用的,透过
QtQml
导入。要使用类型,添加以下 import 语句到 .qml 文件:
import QtQml
使用 C++ API 要求直接或透过其它依赖链接到模块库。一些构建工具对此提供专用支持,包括 CMake 和 qmake。
使用
find_package()
命令以在 Qt6 包中定位所需的模块组件:
find_package(Qt6 COMPONENTS Qml REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Qml)
另请参阅 构建采用 CMake 概述。
要配置采用 qmake 构建模块,把模块作为 Qt 变量的值添加到工程 .pro 文件中:
QT += qml
Qt QML 模块包含 QML 框架和用于应用程序的重要 QML 类型。QML 构造的描述在 QML 参考 .
除了 QML 基本类型 ,模块带有以下 QML 对象类型:
Qt 全局对象为各种 QML 类型提供有用枚举和函数。
从 Qt 5.1 起,将模型类型移到子模块
QtQml.Models
。
Qt QML Models
页面有更多信息。
JavaScript 表达式允许 QML 代码包含应用程序逻辑。Qt QML 提供在 QML 和从 C++ 运行 JavaScript 表达式的框架。
这些章节来自 QML 参考 .
模块还提供运行 QML 应用程序的框架。QML 框架允许 QML 代码包含 JavaScript 表达式并允许 QML 代码与 C++ 代码进行交互。
Qt QML 在商业许可下是可用的来自 Qt 公司 。此外,它在自由软件许可下也是可用的。从 Qt 5.4 起,这些自由软件许可是 GNU LGPL (次一般公共许可) 第 3 版 ,或 GNU GPL (一般公共许可) 第 2 版 。见 Qt 许可 进一步了解细节。
Furthermore Qt QML in Qt 6.2.1 may contain third party modules under following permissive licenses:
JavaScriptCore 宏汇编程序 | BSD 2 条款简化许可 |
用于编写 QML 应用程序的进一步信息: