Protobuf Qt GUI Types Module
Proporciona soporte para usar tipos nativos de Qt GUI en protobuf. Más...
Este módulo se introdujo en Qt 6.6.
Descripción detallada
Qt::ProtobufQtGuiTypes es una librería con mensajes protobuf predefinidos diseñada para encapsular una selección de tipos Qt Gui.
Lista de tipos Qt GUI soportados:
Qt GUI uso
Para habilitar el soporte de tipos Qt GUI, añade ProtobufQtGuiTypes como dependencia a tu proyecto CMake:
...
find_package(Qt REQUIRED COMPONENTS Protobuf ProtobufQtGuiTypes)
... # After target creation
target_link_libraries(${TARGET} PRIVATE Qt::ProtobufQtGuiTypes)Antes de cualquier serialización o deserialización de mensajes que utilicen tipos Qt GUI como campos, llame al método de registro:
// e.g. in main.cpp QtProtobuf::qRegisterProtobufQtGuiTypes(); ...
Todos los mensajes compatibles se describen en un archivo .proto especial, QtGui.proto, que describe los tipos Qt del módulo Qt GUI.
También puedes utilizar el archivo para generar código para otros lenguajes o frameworks.
Importe el módulo de tipos Qt GUI requerido en su archivo .proto de interfaz Por ejemplo:
syntax = "proto3";
package project.module.component;
import "QtGui/QtGui.proto";
message QMatrix4x4Message {
QtGui.QMatrix4x4 matrix = 1;
}El generador Qt Protobuf detecta los tipos Qt GUI, suministrados por el paquete ProtobufQtGuiTypes, y los utiliza directamente. Esto te da la flexibilidad de usar estos tipos sin conversión adicional.
En CMake, puedes extraer la ruta proto include de la librería usando la propiedad QT_PROTO_INCLUDES target:
qt_add_protobuf(MyProtoLib
PROTO_FILES
MyQtGuiTypesUsage.proto
PROTO_INCLUDES
$<TARGET_PROPERTY:Qt::ProtobufQtGuiTypes,QT_PROTO_INCLUDES>
)Serialización QImage
La librería ProtobufQtGuiTypes ofrece la posibilidad de trabajar con la clase QImage. Normalmente, la librería convierte todos los objetos QImage al formato PNG. Pero si el QImage fue creado usando uno de los formatos de punto flotante de QImage::Format, entonces la conversión a PNG conducirá a la pérdida de datos. Para evitar la pérdida de datos, la biblioteca convierte automáticamente el archivo de imagen al formato TIFF, si el sistema lo admite; de lo contrario, lo convierte a PNG.
Nota: si no desea utilizar TIFF, deberá convertir la imagen explícitamente a un formato que no sea de coma flotante.
© 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.