Qt Qml

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

使用模块

QML API

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

import QtQml

Qt Qml 模块包含 QML 框架和应用程序中使用的重要 QML 类型。QML参考》(The QML Reference)中描述了 QML 的结构。

Qt Qml 模块的QML API 提供了大量QML 对象类型(QML Object Types)、QML 值类型(QML Value Types)和命名空间。

C++ 应用程序接口

使用 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 使用的类型,你首先需要定义一个QML 模块,最好使用 CMake 中的qt_add_qml_module。然后,你可以在新模块中添加 C++ 头文件,并在其中定义 暴露给 QML 的 类型

调整引擎

你可以转动许多旋钮来定制 QML 引擎的行为。关于配置 JavaScript 引擎的页面列出了你可以使用的环境变量。QML 磁盘缓存的说明介绍了与如何编译和加载 QML 组件有关的选项。

文章和指南

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

参考资料

许可和归属

Qt Qml 在商业许可下,可从The Qt Company 购买。此外,它还受自由软件许可证的保护。自 Qt 5.4 起,这些自由软件许可证为GNU Lesser General Public License 第 3 版GNU General Public License 第 2 版。更多详情,请参阅Qt 许可

此外,Qt Qml 在 Qt 6.9.0 中可能包含以下许可协议下的第三方模块:

JavaScriptCore Macro Assembler

BSD 2 条款 "简化 "许可证

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.