En esta página

Protobuf Qt Core Types Module

Proporciona soporte para el uso de tipos nativos Qt Core en protobuf. Más...

Este módulo se introdujo en Qt 6.6.

Descripción detallada

Qt::ProtobufQtCoreTypes es una librería con mensajes protobuf predefinidos diseñada para encapsular una selección de tipos Qt Core.

Lista de tipos Qt Core soportados:

Qt Core uso

Para habilitar el soporte de tipos Qt Core, añade ProtobufQtCoreTypes como dependencia a tu proyecto CMake:

...
find_package(Qt REQUIRED COMPONENTS Protobuf ProtobufQtCoreTypes)
... # After target creation
target_link_libraries(${TARGET} PRIVATE Qt::ProtobufQtCoreTypes)

Antes de cualquier serialización o deserialización de mensajes que utilicen tipos Qt Core como campos, llame al método de registro:

// e.g. in main.cpp
QtProtobuf::qRegisterProtobufQtCoreTypes();
...

Todos los mensajes soportados se describen en un archivo .proto especial, QtCore.proto, que describe los tipos Qt del módulo Qt Core.

También puedes utilizar el archivo para generar código para otros lenguajes o frameworks.

Importe el módulo de tipos Qt Core requerido en su archivo .proto de interfaz. Por ejemplo:

syntax = "proto3";

package project.module.component;

import "QtCore/QtCore.proto";

message QUrlMessage {
    QtCore.QUrl url = 1;
}

El generador Qt Protobuf detecta los tipos Qt Core, suministrados por el paquete ProtobufQtCoreTypes, y los utiliza directamente. Esto te da la flexibilidad de usar estos tipos sin conversión adicional.

En CMake, puedes extraer la ruta del proto include de la librería usando la propiedad QT_PROTO_INCLUDES target:

qt_add_protobuf(MyProtoLib
    PROTO_FILES
        MyQtCoreTypesUsage.proto
    PROTO_INCLUDES
        $<TARGET_PROPERTY:Qt::ProtobufQtCoreTypes,QT_PROTO_INCLUDES>
)

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