Protobuf Qt Core Types Module
Prend en charge l'utilisation des types natifs Qt Core dans la protobuf. Plus d'informations...
Ce module a été introduit dans Qt 6.6.
Description détaillée
Qt::ProtobufQtCoreTypes est une bibliothèque de messages protobuf prédéfinis conçus pour encapsuler une sélection de types Qt Core.
Liste des types Qt Core pris en charge :
- QByteArray
Note : Le type reflète le type de protobuf des octets.
- QChar
- QDate
- QTimeZone
- QDateTime
- QPoint
- QPointF
- QRect
- QRectF
- QSize
- QSizeF
- QString
Note : Le type reflète le type de protobuf string.
- QTime
- QUrl
- QUuid
- QVersionNumber
Qt Core utilisation
Pour activer le support des types Qt Core, ajoutez ProtobufQtCoreTypes comme dépendance à votre projet CMake :
...
find_package(Qt REQUIRED COMPONENTS Protobuf ProtobufQtCoreTypes)
... # After target creation
target_link_libraries(${TARGET} PRIVATE Qt::ProtobufQtCoreTypes)Avant toute sérialisation ou désérialisation de messages utilisant les types Qt Core comme champs, appelez la méthode d'enregistrement :
// e.g. in main.cpp QtProtobuf::qRegisterProtobufQtCoreTypes(); ...
Tous les messages pris en charge sont décrits dans un fichier .proto spécial, QtCore.proto, qui décrit les types Qt du module Qt Core.
Vous pouvez également utiliser ce fichier pour générer du code pour d'autres langages ou frameworks.
Importez le module Qt Core types requis dans votre fichier .proto d'interface. Par exemple, le générateur détecte le module dans le fichier .proto de votre interface :
syntax = "proto3";
package project.module.component;
import "QtCore/QtCore.proto";
message QUrlMessage {
QtCore.QUrl url = 1;
}Le générateur Qt Protobuf détecte les types Qt Core, fournis par le paquet ProtobufQtCoreTypes, 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 à l'aide de la propriété 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.