En esta página

Qt GRPC

Qt GRPCjunto con el módulo Qt Protobuf permite una comunicación rápida y eficiente con los servidores gRPC servidores. Integra a la perfección los servicios de gRPC en el marco de trabajo de Qt, permitiendo la comunicación a través de diferentes lenguajes de programación o entornos, independientemente de si el servidor está basado en Qt.

Descripción general

gRPC es un marco de trabajo multiplataforma de alto rendimiento para llamadas a procedimientos remotos (RPC). Utiliza el compilador Protobuf (protoc) para generar interfaces de cliente y servidor a partir de secciones service en un esquema protobuf para varios lenguajes de programación. Se utiliza habitualmente para conectar servicios en arquitecturas de tipo microservicios o para enlazar aplicaciones móviles y navegadores con sistemas backend. Para más detalles, consulte la Introducción a gRPC.

Qt GRPC consiste en APIs C++ y Qt Quick que manejan la naturaleza asíncrona de las llamadas a procedimientos remotos utilizando el conocido mecanismo Signals & Slots. También proporciona herramientas de línea de comandos y una API CMake para agilizar la generación de interfaces específicas de Qt utilizando protoc.

Qt GRPC actualmente soporta la funcionalidad del lado del cliente. Esto significa que puede comunicarse con un servidor compatible con gRPC. Este puede ser tu propio servidor con su API protobuf o una API disponible públicamente, como las APIs de Google.

Uso del módulo

Requisitos previos del módulo

  • protocProtoc, el compilador de Protocol Buffers, es necesario para ejecutar los plugins generadores de código Qt. Ver Instalación de Protoc.
  • Opcional: Soporte SSL.
  • Opcional: gRPC C++ para ejecutar los ejemplos.

Nota: Véase el Ejemplo de instalación para Windows utilizando vcpkg para obtener instrucciones sobre la instalación de gRPC y Protobuf, y la ejecución de los ejemplos de Qt GRPC.

API C

Para añadir archivos protobuf a un proyecto basado en Qt y generar el código fuente necesario, utilice el compilador protoc junto con los plugins Qt qtgrpcgen y qtprotobufgen.

Un ejemplo mínimo de un archivo de proyecto CMake que utiliza Qt GRPC puede tener este aspecto:

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

Los tipos QML del módulo están disponibles a través de la importación QtGrpc. Para utilizar los tipos, añada la siguiente sentencia import a su archivo .qml:

import QtGrpc

Artículos y Guías

Referencias

Ejemplos

Licencias y atribuciones

El módulo Qt GRPC está disponible bajo licencias comerciales de The Qt Company. Además, está disponible bajo licencias de software libre: La Licencia Pública General GNU, versión 3. Ver Licencias Qt para más detalles.

Además, Qt GRPC en Qt 6.11.0 puede contener módulos de terceros bajo las siguientes licencias permisivas:

gRPC, version 1.50.1

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