Auf dieser Seite

Qt GRPC

Qt GRPCwird zusammen mit dem Qt Protobuf Modul eine schnelle und speicherplatzsparende Kommunikation mit gRPC™ Servern. Es integriert die Dienste von gRPC nahtlos in das Qt-Framework und ermöglicht so die Kommunikation über verschiedene Programmiersprachen oder Umgebungen hinweg, unabhängig davon, ob der Server auf Qt basiert.

Übersicht

gRPC ist ein plattformübergreifendes, leistungsstarkes Remote-Procedure-Call-Framework (RPC). Es nutzt den Protobuf-Compiler (protoc), um Client- und Server-Schnittstellen aus den Abschnitten „ service “ in einem Protobuf-Schema für verschiedene Programmiersprachen zu generieren. Es wird häufig verwendet, um Dienste in Microservices-Architekturen miteinander zu verbinden oder mobile Anwendungen und Browser mit Backend-Systemen zu verknüpfen. Weitere Details finden Sie in der gRPC-Einführung.

Qt GRPC besteht aus C++- und Qt Quick -APIs, die die asynchrone Natur von Remote Procedure Calls mithilfe des bekannten „Signals & Slots“-Mechanismus handhaben. Es bietet außerdem Befehlszeilentools und eine CMake-API, um die Generierung von Qt-spezifischen Schnittstellen mithilfe von protoc zu optimieren.

Qt GRPC Derzeit werden clientseitige Funktionen unterstützt. Das bedeutet, dass eine Kommunikation mit einem gRPC-kompatiblen Server möglich ist. Dabei kann es sich um Ihren eigenen Server mit dessen Protobuf-API oder um eine öffentlich verfügbare API handeln, wie beispielsweise die Google-APIs.

Verwendung des Moduls

Voraussetzungen für das Modul

  • protoc, der Protocol-Buffers-Compiler, ist für die Ausführung der Qt-Code-Generator-Plugins erforderlich. Siehe Installation von Protoc.
  • Optional: SSL -Unterstützung.
  • Optional: gRPC C++ zum Ausführen der Beispiele.

Hinweis: Anweisungen zur Installation von „ gRPC “ und „Protobuf“ sowie zur Ausführung der „ Qt GRPC “-Beispielefinden Sie im Beispiel zur Installation unter Windows mit vcpkg.

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 Qt-Plugins „ qtgrpcgen “ und „ qtprotobufgen “.

Ein minimales Beispiel für eine CMake-Projektdatei, die „ Qt GRPC “ verwendet, könnte 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 Import „ QtGrpc “ verfügbar. Um die Typen zu verwenden, fügen Sie die folgende Importanweisung in Ihre .qml-Datei ein:

import QtGrpc

Artikel und Anleitungen

Referenzen

Beispiele

Lizenzen und Quellenangaben

Das Modul „ Qt GRPC “ ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist es unter freien Softwarelizenzen verfügbar: der GNU General Public License, Version 3. Weitere Informationen finden Sie unter „Qt-Lizenzierung “.

Darüber hinaus kann „ Qt GRPC “ in Qt 6.12.0 Module von Drittanbietern enthalten, die unter den folgenden freizügigen Lizenzen stehen:

gRPC, version 1.50.1

Apache-Lizenz 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.