Qt GRPC
Qt GRPCin Verbindung mit dem Qt Protobuf Modul eine schnelle und platzsparende Kommunikation mit gRPC™ Servern. Es integriert die Dienste von gRPC nahtlos in das Qt-Framework und ermöglicht die Kommunikation über verschiedene Programmiersprachen oder Umgebungen hinweg, unabhängig davon, ob der Server auf Qt basiert.
Überblick
gRPC ist ein plattformübergreifendes, leistungsstarkes Remote Procedure Call (RPC) Framework. Es verwendet den Protobuf-Compiler (protoc
), um Client- und Server-Schnittstellen aus service
Abschnitten in einem Protobuf-Schema für verschiedene Programmiersprachen zu erzeugen. Es wird häufig verwendet, um Dienste in Microservices-Architekturen zu verbinden oder um mobile Anwendungen und Browser mit Backend-Systemen zu verknüpfen. Weitere Einzelheiten finden Sie in der gRPC-Einführung.
Qt GRPC gRPC besteht aus C++- und Qt Quick -APIs, die die asynchrone Natur von Remote Procedure Calls unter Verwendung des bekannten Signals & Slots-Mechanismus behandeln. Es bietet auch Kommandozeilen-Tools und eine CMake-API, um die Erzeugung von Qt-spezifischen Schnittstellen mit protoc
zu rationalisieren.
Qt GRPC unterstützt derzeit clientseitige Funktionalität. Das bedeutet, dass es mit einem gRPC-kompatiblen Server kommunizieren kann. Dies kann Ihr eigener Server mit seiner protobuf API sein oder eine öffentlich verfügbare API, wie z.B. die Google APIs.
Verwendung des Moduls
Voraussetzungen für das Modul
protoc
Um die Qt-Codegenerator-Plugins ausführen zu können, wird der Protocol Buffers Compiler benötigt. Siehe Protoc-Installation.- Optional: SSL-Unterstützung.
- Optional: gRPC C++ für die Ausführung der Beispiele.
Hinweis: Siehe Beispiel für die Installation unter Windows mit vcpkg für Anweisungen zur Installation von gRPC und Protobuf und zur Ausführung von Qt GRPC Beispielen.
C++-API
Um Protobuf-Dateien zu einem Qt-basierten Projekt hinzuzufügen und den erforderlichen Quellcode zu generieren, verwenden Sie den protoc
Compiler zusammen mit den qtgrpcgen
und qtprotobufgen
Qt Plugins.
- Das qtprotobufgen Tool generiert Qt-Klassen aus protobuf Nachrichten-Definitionen. Verwenden Sie den CMake-Befehl qt_add_protobuf, um diesen Prozess zu automatisieren.
- Das qtgrpcgen Tool generiert Schnittstellen aus Protobuf Service Definitionen. Verwenden Sie den CMake-Befehl qt_add_grpc, um diesen Prozess zu automatisieren.
Ein minimales Beispiel für eine CMake-Projektdatei, die Qt GRPC verwendet, kann wie folgt aussehen:
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)
QML-API
Die QML-Typen des Moduls sind über den QtGrpc
-Import verfügbar. Um die Typen zu verwenden, fügen Sie die folgende Import-Anweisung in Ihre .qml-Datei ein:
import QtGrpc
Artikel und Leitfäden
Verweise
Beispiele
Lizenzen und Namensnennung
Das Qt GRPC Modul ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist es unter freien Softwarelizenzen verfügbar: Die GNU General Public License, Version 3. Siehe Qt Licensing für weitere Details.
Darüber hinaus kann Qt GRPC in Qt 6.8.2 Module von Drittanbietern unter den folgenden zulässigen Lizenzen enthalten:
Apache-Lizenz 2.0 |
© 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.