Qt Qml

Qt Qml 模块为使用 QML 语言开发应用程序和库提供了一个框架。它定义并实现了语言和引擎基础结构,并提供了 API,使应用程序开发者能够注册自定义 QML 类型和管理模块,并整合 QML 代码与 JavaScript 和 C++。Qt Qml 模块提供了 QML API 和 C++ API。

使用模块

QML API

模块中的 QML 类型通过 QtQml 导入可用。要使用这些类型,请向您的 .qml 文件添加以下导入语句

import QtQml

Qt QML 模块包含用于应用程序的 QML 框架和重要的 QML 类型。QML 的构造在第 QML 参考 中描述。

Qt QML 模块的 QML API 提供了大量的 QML 对象类型QML 值类型 和命名空间。

C++ API

使用 Qt 模块的 C++ API 需要链接到该模块库,无论是直接链接还是通过其他依赖项。包括 CMakeqmake 在内的几个构建工具都为此提供了专门的支持。

C++ API 包含一些您应该熟悉的 重要类。它还提供了用于存储 JavaScript 值的类型。

使用 CMake 构建

使用 find_package() 命令在 Qt6 包中定位所需的模块组件

find_package(Qt6 REQUIRED COMPONENTS Qml)
target_link_libraries(mytarget PRIVATE Qt6::Qml)

有关更多信息,请参阅 使用 CMake 构建 概述。

要为非 QML 库提供外部 QML 类型支持,按照以下方式定位 QmlIntegration 模块

find_package(Qt6 REQUIRED COMPONENTS QmlIntegration)
target_link_libraries(mytarget PRIVATE Qt6::QmlIntegration)

有关详细信息,请参阅 qt6_generate_foreign_qml_types

使用 qmake 构建

要使用 qmake 构建配置模块,请将模块添加到项目文件 .pro 中的 QT 变量的值中

QT += qml

注册 QML 类型和管理模块

为了在使用QML时注册类型,首先需要定义一个QML模块,最好使用CMake中的qt_add_qml_module。然后,您可以将C++头文件添加到新模块中,并在其中定义类型,以便将它们暴露给QML

调整引擎

您可以使用许多控件来自定义QML引擎的行为。有关配置JavaScript引擎的页面列出了您可能使用的环境变量。有关QML磁盘缓存的描述说明了与如何编译和加载您的QML组件相关的选项。

文章和指南

这些文章包含有关Qt Qml的信息。

参考

许可和归属

Qt QML可以在Qt公司的商业许可下获得。另外,它也可以在免费软件许可下获得。从Qt 5.4开始,这些免费软件许可为GNU小于通用公共许可证,版本3GNU通用公共许可证,版本2。有关更多详细信息,请参阅Qt许可

此外,Qt 6.7.2中的Qt QML可能包含以下许可协议下的第三方模块

JavaScriptCore宏汇编器

BSD 2条款“简化”许可证

© 2024 Qt公司有限公司。本文件中包含的文档贡献归其各自所有者享有版权。本文件提供的文档是在GNU自由文档许可证版本1.3的条款下许可的,由自由软件基金会发布。Qt及其相关标志是芬兰及其它国家/地区Qt公司有限公司的商标。所有其他商标均属于其各自所有者。