Sur cette page

Qt GRPC

Qt GRPC, en association avec le Qt Protobuf module, permet une communication rapide et peu gourmande en mémoire avec les gRPC™ serveurs. Il intègre de manière transparente les services gRPC dans le framework Qt, permettant ainsi la communication entre différents langages de programmation ou environnements, que le serveur soit ou non basé sur Qt.

Présentation

gRPC est un framework multiplateforme et hautement performant deappel de procédure à distance (RPC). Il utilise le compilateur Protobuf (protoc) pour générer des interfaces client et serveur à partir des sections « service » d’un schéma Protobuf pour divers langages de programmation. Il est couramment utilisé pour connecter des services dans des architectures de type microservices ou pour relier des applications mobiles et des navigateurs à des systèmes backend. Pour plus de détails, consultez l’introduction à gRPC.

Qt GRPC Qt Quick Il se compose d’API C++ et d’API qui gèrent la nature asynchrone des appels de procédure à distance (RPC) à l’aide du mécanisme bien connu « protocSignals & Slots ». Il fournit également des outils en ligne de commande et une API CMake pour rationaliser la génération d’interfaces spécifiques à Qt à l’aide d’ .

Qt GRPC prend actuellement en charge les fonctionnalités côté client. Cela signifie qu’il peut communiquer avec un serveur compatible gRPC. Il peut s’agir de votre propre serveur doté de son API protobuf ou d’une API accessible au public, telle que les API Google.

Utilisation du module

Prérequis du module

  • protoc, le compilateur Protocol Buffers, est nécessaire pour exécuter les plugins du générateur de code Qt. Voir Installation de Protoc.
  • Facultatif : prise en charge de SSL.
  • Facultatif : gRPC C++ pour exécuter les exemples.

Remarque : consultez l’exemple d’installation sous Windows à l’aide de vcpkg pour obtenir des instructions sur l’installation d’ gRPC et de Protobuf, ainsi que sur l’exécution des exemples d’ Qt GRPC.

API C++

Pour ajouter des fichiers protobuf à un projet basé sur Qt et générer le code source requis, utilisez le compilateur protoc avec les plugins Qt qtgrpcgen et qtprotobufgen.

Voici à quoi peut ressembler un exemple minimal de fichier de projet CMake utilisant Qt GRPC:

cmake_minimum_required(VERSION 3.16...3.22)
project(MyProject)

find_package(Qt6 REQUIRED COMPONENTS Protobuf Grpc)
qt_standard_project_setup()

qt_add_executable(MyApp main.cpp)

qt_add_protobuf(MyApp
    PROTO_FILES
        path/to/messages.proto
)

qt_add_grpc(MyApp CLIENT
    PROTO_FILES
        path/to/service.proto
)

target_link_libraries(MyApp PRIVATE Qt6::Protobuf Qt6::Grpc)

API QML

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

import QtGrpc

Articles et guides

Références

Exemples

Licences et mentions

Le module « Qt GRPC » est disponible sous licence commerciale auprès de The Qt Company. Il est également disponible sous licence de logiciel libre : la Licence publique générale GNU, version 3. Pour plus de détails, consultez la page Licences Qt.

Par ailleurs, le module « Qt GRPC » de Qt 6.12.0 peut contenir des modules tiers sous les licences permissives suivantes :

gRPC, version 1.50.1

Licence Apache 2.0

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