Protobuf Qt GUI Types Module
Bietet Unterstützung für die Verwendung nativer Qt GUI-Typen in Protobuf. Mehr…
Dieses Modul wurde in Qt 6.6 eingeführt.
Ausführliche Beschreibung
Qt::ProtobufQtGuiTypes ist eine Bibliothek mit vordefinierten Protobuf-Nachrichten, die dazu dient, eine Auswahl von Qt GUI-Typen zu kapseln.
Liste der unterstützten Qt GUI-Typen:
Qt GUI Verwendung
Um die Unterstützung für „ Qt GUI “-Typen zu aktivieren, fügen Sie „ProtobufQtGuiTypes“ als Abhängigkeit zu Ihrem CMake-Projekt hinzu:
...
find_package(Qt REQUIRED COMPONENTS Protobuf ProtobufQtGuiTypes)
... # After target creation
target_link_libraries(${TARGET} PRIVATE Qt::ProtobufQtGuiTypes)Rufen Sie vor jeder Serialisierung oder Deserialisierung von Nachrichten, die „ Qt GUI “-Typen als Felder verwenden, die Registrierungsmethode auf:
// e.g. in main.cpp
QtProtobuf::qRegisterProtobufQtGuiTypes();
...Alle unterstützten Nachrichten sind in einer speziellen .proto-Datei beschrieben, „QtGui.proto“, die Qt-Typen aus dem Modul „ Qt GUI “ definiert.
Sie können die Datei auch verwenden, um Code für andere Sprachen oder Frameworks zu generieren.
Importieren Sie das erforderliche Modul „ Qt GUI -Typen“ in Ihre Schnittstellen-„.proto“-Datei. Beispiel:
syntax = "proto3";
package project.module.component;
import "QtGui/QtGui.proto";
message QMatrix4x4Message {
QtGui.QMatrix4x4 matrix = 1;
}Der Qt Protobuf -Generator erkennt die vom Paket „ProtobufQtGuiTypes“ bereitgestellten „ Qt GUI “-Typen und verwendet sie direkt. Dies gibt Ihnen die Flexibilität, diese Typen ohne zusätzliche Konvertierung zu nutzen.
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
MyQtGuiTypesUsage.proto
PROTO_INCLUDES
$<TARGET_PROPERTY:Qt::ProtobufQtGuiTypes,QT_PROTO_INCLUDES>
)QImage-Serialisierung
Die Bibliothek „ProtobufQtGuiTypes“ bietet die Möglichkeit, mit der Klasse „ QImage “ zu arbeiten. Normalerweise konvertiert die Bibliothek alle „ QImage “-Objekte in das „ PNG “-Format. Wenn das „ QImage “ jedoch unter Verwendung eines der Gleitkommaformate von „ QImage::Format “ erstellt wurde, führt die Konvertierung in das „ PNG “-Format zu Datenverlust. Um Datenverlust zu vermeiden, konvertiert die Bibliothek die Bilddatei automatisch in das „ TIFF “-Format, sofern dies vom System unterstützt wird; andernfalls erfolgt die Konvertierung in das „ PNG “-Format.
Hinweis: Wenn Sie „ TIFF “ nicht verwenden möchten, müssen Sie das Bild explizit in ein Nicht-Gleitkomma-Format konvertieren.
© 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.