Sur cette page

Protobuf Qt GUI Types Module

Fournit un support pour l'utilisation des types Qt Protobuf natifs dans le protobuf. Plus d'informations...

Ce module a été introduit dans Qt 6.6.

Description détaillée

Qt::ProtobufQtGuiTypes est une bibliothèque de messages protobuf prédéfinis conçus pour encapsuler une sélection de types Qt Gui.

Liste des types de Qt GUI supportés :

Qt GUI utilisation

Pour activer le support 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)

Avant toute sérialisation ou désérialisation de messages utilisant les types Qt GUI comme 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écial, QtGui.proto, qui décrit les types Qtt 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 :

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 donne la possibilité d'utiliser ces types sans conversion supplémentaire.

Dans CMake, vous pouvez extraire le chemin d'inclusion proto de la bibliothèque en utilisant la propriété QT_PROTO_INCLUDES target :

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

QImage serialization

La bibliothèque ProtobufQtGuiTypes offre la possibilité de travailler avec la classe QImage. Habituellement, la bibliothèque convertit tous les objets QImage au format PNG. Mais si l'objet QImage a été créé en utilisant l'un des formats à virgule flottante de QImage::Format, la conversion en PNG entraînera une perte de données. Pour éviter toute perte de données, la bibliothèque convertit automatiquement le fichier image au format TIFF, s'il est pris en charge par le système, sinon elle le convertit au format PNG.

Remarque : si vous ne souhaitez pas utiliser TIFF, vous devez convertir explicitement l'image dans un format à virgule non 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.