Sur cette page

Qt WebChannel

Qt WebChannel permet la communication entre un serveur (application QML/C++) et un client (application HTML/JavaScript ou QML). Elle est prise en charge par défaut par Qt WebEngine. De plus, elle fonctionne sur tous les navigateurs prenant en charge les WebSockets, ce qui permet aux clients Qt WebChannel de s'exécuter dans n'importe quel environnement JavaScript (y compris QML). Cela nécessite la mise en œuvre d'un transport personnalisé basé sur Qt WebSockets.

Le module fournit une bibliothèque JavaScript permettant une intégration transparente des applications C++ et QML avec les clients HTML/JavaScript et QML. Les clients doivent utiliser cette bibliothèque JavaScript pour accéder aux QObjects sérialisés publiés par les applications hôtes.

Utilisation du module

API QML

Les types QML du module sont disponibles via l’importation QtWebChannel. Pour utiliser ces types, ajoutez la déclaration d’importation suivante à votre fichier .qml :

import QtWebChannel

API C++

L'utilisation de l'API C++ d'un module Qt nécessite une liaison avec la bibliothèque du module, soit directement, soit via d'autres dépendances. Plusieurs outils de compilation prennent cela en charge, notamment CMake et qmake.

Compilation avec CMake

Utilisez la commande « find_package() » pour localiser le composant de module requis dans le paquet « Qt6 » :

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

Pour plus de détails, consultez la présentation « Compilation avec CMake ».

Compilation avec qmake

Pour configurer le module en vue d'une compilation avec qmake, ajoutez le module en tant que valeur de la variable QT dans le fichier .pro du projet :

QT += webchannel

Exemples

Référence

Licences

Qt WebChannel est disponible sous licence commerciale auprès de The Qt Company. Il est également disponible sous licence de logiciel libre. Ces licences de logiciel libre sont la Licence publique générale restreinte GNU, version 3, ou la Licence publique générale GNU, version 2. Pour plus d'informations, consultez la page Licences Qt.

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