Qt QML

Qt QML 模塊為開發應用程序和庫提供框架,采用 QML 語言 。它定義並實現語言和引擎基礎設施,還提供 AP 使應用程序開發者能夠 register 自定義 QML 類型和模塊,及采用 JavaScript 和 C++ 集成 QML 代碼。Qt QML 模塊提供兩者 QML API C++ API .

使用模塊

QML API

模塊的 QML 類型是可用的透過 QtQml 導入。要使用類型,添加以下 import 語句到 .qml 文件:

import QtQml
					

Qt QML 模塊包含 QML 框架和用於應用程序的重要 QML 類型。QML 構造的描述是在 QML 參考 .

The QML API 為 Qt QML 模塊提供瞭很多 QML 對象類型 , QML 值類型 和名稱空間。

C++ API

使用 Qt 模塊的 C++ API 要求直接 (或透過其它依賴) 鏈接到模塊庫。幾個構建工具對此有專用支持,包括 CMake and qmake .

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 構建模塊,添加模塊作為值為 QT 變量在工程的 .pro 文件:

QT += qml
					

注冊 QML 類型和 QML 模塊

為注冊用於 QML 的類型,首先需要定義 QML 模塊 ,首選使用 qt_add_qml_module 在 CMake。然後,可以把 C++ 頭添加到新模塊,和 定義類型 暴露給 QML 在它們中。

微調引擎

有很多鏇鈕可以定製 QML 引擎的行為。頁麵在 配置 JavaScript 引擎 列齣可能用於此效果的環境變量。描述對於 QML 磁盤緩存 描述瞭如何編譯和加載 QML 組件的相關選項。

文章和指南

這些文章包含 Qt QML 的有關信息。

參考

許可和歸屬

Qt Qml 在商業許可下是可用的來自 Qt 公司 。此外,它在自由軟件許可下也是可用的。從 Qt 5.4 起,這些自由軟件許可是 GNU LGPL (次一般公共許可) 第 3 版 ,或 GNU GPL (一般公共許可) 第 2 版 。見 Qt 許可 進一步瞭解細節。

Furthermore Qt Qml in Qt 6.10.1 may contain third party modules under following permissive licenses:

JavaScriptCore 宏匯編程序

BSD 2 條款簡化許可