Qt WebChannel

Qt WebChannel ermöglicht die Peer-to-Peer-Kommunikation zwischen einem Server (QML/C++-Anwendung) und einem Client (HTML/JavaScript- oder QML-Anwendung). Es wird standardmäßig unterstützt von Qt WebEngine. Darüber hinaus kann es auf allen Browsern funktionieren, die WebSockets unterstützen, so dass Qt WebChannel -Clients in jeder JavaScript-Umgebung (einschließlich QML) ausgeführt werden können. Dies erfordert die Implementierung eines benutzerdefinierten Transports auf der Grundlage von Qt WebSockets.

Das Modul bietet eine JavaScript-Bibliothek für die nahtlose Integration von C++- und QML-Anwendungen mit HTML/JavaScript- und QML-Clients. Die Clients müssen die JavaScript-Bibliothek verwenden, um auf die serialisierten QObjects zuzugreifen, die von den Host-Anwendungen veröffentlicht werden.

Verwendung des Moduls

QML-API

Die QML-Typen des Moduls sind über den QtWebChannel -Import verfügbar. Um die Typen zu verwenden, fügen Sie die folgende Import-Anweisung zu Ihrer .qml-Datei hinzu:

import QtWebChannel

C++-API

Die Verwendung der C++-API eines Qt-Moduls erfordert eine Verknüpfung mit der Modulbibliothek, entweder direkt oder über andere Abhängigkeiten. Mehrere Build-Tools bieten hierfür spezielle Unterstützung, darunter CMake und qmake.

Bauen mit CMake

Verwenden Sie den Befehl find_package(), um die benötigte Modulkomponente im Paket Qt6 zu finden:

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

Weitere Einzelheiten finden Sie in der Übersicht Bauen mit CMake.

Bauen mit qmake

Um das Modul für die Erstellung mit qmake zu konfigurieren, fügen Sie das Modul als Wert der Variable QT in der .pro-Datei des Projekts hinzu:

QT += webchannel

Beispiele

Referenz

Lizenzen

Qt WebChannel ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist es unter freien Software-Lizenzen verfügbar. Diese Lizenzen für freie Software sind die GNU Lesser General Public License, Version 3, oder die GNU General Public License, Version 2. Siehe Qt-Lizenzierung für weitere Details.

© 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.