Qt WebChannel

Qt WebChannel 使服務器 (QML/C++ 應用程序) 和客戶端 (HTML/JavaScript 或 QML 應用程序) 之間能夠點對點通信。它支持開箱即用通過 Qt WebEngine . In addition, it can work on all browsers that support WebSockets , enabling Qt WebChannel clients to run in any JavaScript environment (including QML). This requires implementing a custom transport based on Qt WebSockets.

模塊提供 JavaScript 庫,用於無縫集成 C++ 和 QML 應用程序與 HTML/JavaScript 和 QML 客戶端。客戶端必須使用 JavaScript 庫,去訪問由主機應用程序發布的序列化 QObject。

使用模塊

QML API

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

import QtWebChannel
					

C++ API

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

構建采用 CMake

使用 find_package() 命令定位所需模塊組件在 Qt6 包:

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

更多細節,見 構建采用 CMake 概述。

采用 qmake 構建

要配置采用 qmake 構建模塊,添加模塊作為值為 QT 變量在工程的 .pro 文件:

QT += webchannel
					

範例

參考

許可

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