Qt QML 模块为开发应用程序和库提供框架,采用 QML 语言 . It defines and implements the language and engine infrastructure, and provides an API to enable application developers to register custom QML types and modules and integrate QML code with JavaScript and C++. The Qt Qml module provides both a QML API 和 C++ API .
模块的 QML 类型是可用的透过
QtQml
导入。要使用类型,添加以下 import 语句到 .qml 文件:
import QtQml
Qt QML 模块包含 QML 框架和用于应用程序的重要 QML 类型。QML 构造的描述在 QML 参考 .
The QML API 对于 Qt QML 模块提供了很多 QML 对象类型 , QML 值类型 和名称空间。
使用 Qt 模块的 C++ API 要求直接 (或透过其它依赖) 链接到模块库。几个构建工具对此有专用支持,包括 CMake and qmake .
C++ API 包含一些 重要类 您应该熟悉。它还提供 类型 以保持 JavaScript 值。
使用
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 构建模块,添加模块作为值为
QT
变量在工程的 .pro 文件:
QT += qml
为注册用于 QML 的类型,首先需要定义 QML 模块 ,首选使用 qt_add_qml_module 在 CMake。然后,可以把 C++ 头添加到新模块,和 定义类型 到 暴露给 QML 在它们中。
There are a number of knobs you can turn to customize the behavior of the QML engine. The page on 配置 JavaScript 引擎 lists the environment variables you may use to this effect. The description of the QML 磁盘缓存 describes the options related to how your QML components are compiled and loaded.
这些文章包含 Qt QML 的有关信息。
Qt QML 在商业许可下是可用的来自 Qt 公司 。此外,它在自由软件许可下也是可用的。从 Qt 5.4 起,这些自由软件许可是 GNU LGPL (次一般公共许可) 第 3 版 ,或 GNU GPL (一般公共许可) 第 2 版 。见 Qt 许可 进一步了解细节。
此外,Qt 6.7.2 的 Qt QML 可能包含的第 3 方模块遵循下列准许许可:
BSD 2 条款简化许可 |