Protobuf Qt Core Types Module
Bietet Unterstützung für die Verwendung nativer „ Qt Core “-Typen in Protobuf. Mehr dazu...
Dieses Modul wurde in Qt 6.6 eingeführt.
Ausführliche Beschreibung
Qt::ProtobufQtCoreTypes ist eine Bibliothek mit vordefinierten Protobuf-Nachrichten, die dazu dient, eine Auswahl von „ Qt Core “-Typen zu kapseln.
Liste der unterstützten „ Qt Core “-Typen:
- QByteArray
Hinweis: Der Typ entspricht dem Protobuf -Byte -Typ.
- QChar
- QDate
- QTimeZone
- QDateTime
- QPoint
- QPointF
- QRect
- QRectF
- QSize
- QSizeF
- QString
Hinweis: Der Typ entspricht dem Protobuf-Typ „string “.
- QTime
- QUrl
- QUuid
- QVersionNumber
Qt Core Verwendung
Um die Unterstützung für „ Qt Core “-Typen zu aktivieren, fügen Sie „ProtobufQtCoreTypes“ als Abhängigkeit zu Ihrem CMake-Projekt hinzu:
...
find_package(Qt REQUIRED COMPONENTS Protobuf ProtobufQtCoreTypes)
... # After target creation
target_link_libraries(${TARGET} PRIVATE Qt::ProtobufQtCoreTypes)Rufen Sie vor jeder Serialisierung oder Deserialisierung von Nachrichten, die „ Qt Core “-Typen als Felder verwenden, die Registrierungsmethode auf:
// e.g. in main.cpp
QtProtobuf::qRegisterProtobufQtCoreTypes();
...Alle unterstützten Nachrichten sind in einer speziellen .proto-Datei beschrieben, „QtCore.proto“, die Qt-Typen aus dem Modul „ Qt Core “ definiert.
Sie können die Datei auch verwenden, um Code für andere Sprachen oder Frameworks zu generieren.
Importieren Sie das erforderliche Modul „ Qt Core types“ in Ihre Schnittstellen-„.proto“-Datei. Beispiel:
syntax = "proto3";
package project.module.component;
import "QtCore/QtCore.proto";
message QUrlMessage {
QtCore.QUrl url = 1;
}Der Qt Protobuf -Generator erkennt die vom Paket „ProtobufQtCoreTypes“ bereitgestellten „ Qt Core “-Typen und verwendet sie direkt. Dies gibt Ihnen die Flexibilität, diese Typen ohne zusätzliche Konvertierung zu verwenden.
In CMake können Sie den Proto-Include-Pfad mithilfe der Ziel-Eigenschaft „ QT_PROTO_INCLUDES “ aus der Bibliothek extrahieren:
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.