Protobuf Qt GUI Types Module
Permet d'utiliser les types natifs de la Qt GUI dans Protobuf. En savoir plus…
Ce module a été introduit dans Qt 6.6.
Description détaillée
Qt::ProtobufQtGuiTypes est une bibliothèque contenant des messages Protobuf prédéfinis, conçue pour encapsuler une sélection de types Qt GUI.
Liste des types Qt GUI pris en charge :
Qt GUI Utilisation
Pour activer la prise en charge des types ` Qt GUI `, ajoutez `ProtobufQtGuiTypes` comme dépendance à votre projet CMake :
...
find_package(Qt REQUIRED COMPONENTS Protobuf ProtobufQtGuiTypes)
... # After target creation
target_link_libraries(${TARGET} PRIVATE Qt::ProtobufQtGuiTypes)Qt GUI Avant toute sérialisation ou désérialisation de messages utilisant des types Qt Gui en tant que champs, appelez la méthode d’enregistrement :
// e.g. in main.cpp
QtProtobuf::qRegisterProtobufQtGuiTypes();
...Tous les messages pris en charge sont décrits dans un fichier .proto spécifique, QtGui.proto, qui décrit les types Qt du module Qt GUI.
Vous pouvez également utiliser ce fichier pour générer du code pour d’autres langages ou frameworks.
Importez le module de types ` Qt GUI ` requis dans votre fichier .proto d’interface. Par exemple :
syntax = "proto3";
package project.module.component;
import "QtGui/QtGui.proto";
message QMatrix4x4Message {
QtGui.QMatrix4x4 matrix = 1;
}Le générateur Qt Protobuf détecte les types Qt GUI, fournis par le paquet ProtobufQtGuiTypes, et les utilise directement. Cela vous offre la flexibilité d’utiliser ces types sans conversion supplémentaire.
Dans CMake, vous pouvez extraire le chemin d’inclusion proto de la bibliothèque à l’aide de la propriété de cible « QT_PROTO_INCLUDES » :
qt_add_protobuf(MyProtoLib
PROTO_FILES
MyQtGuiTypesUsage.proto
PROTO_INCLUDES
$<TARGET_PROPERTY:Qt::ProtobufQtGuiTypes,QT_PROTO_INCLUDES>
)Sérialisation de QImage
La bibliothèque ProtobufQtGuiTypes offre la possibilité d’utiliser la classe ` QImage `. En règle générale, la bibliothèque convertit tous les objets ` QImage ` au format ` PNG `. Cependant, si l’ QImage a été créé à l’aide de l’un des formats à virgule flottante de QImage::Format, la conversion vers ` PNG ` entraînera une perte de données. Pour éviter cette perte, la bibliothèque convertit automatiquement le fichier image au format ` TIFF `, si celui-ci est pris en charge par le système, ou sinon vers ` PNG`.
Remarque : si vous ne souhaitez pas utiliser le format TIFF, vous devez convertir explicitement l’image dans un format sans virgule flottante.
© 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.