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.

Detaillierte Beschreibung

Qt::ProtobufQtGuiTypes ist eine Bibliothek mit vordefinierten Protobuf-Nachrichten, die entwickelt wurde, um eine Auswahl von Qt Gui-Typen zu kapseln.

Liste der unterstützten Qt Gui Typen:

Qt GUI Verwendung

Um die Unterstützung von 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)

Vor jeder Serialisierung oder Deserialisierung von Nachrichten, die Qt GUI Typen als Felder verwenden, rufen Sie die Registrierungsmethode auf:

// e.g. in main.cpp
QtProtobuf::qRegisterProtobufQtGuiTypes();
...

Alle unterstützten Nachrichten werden in einer speziellen .proto-Datei, QtGui.proto, beschrieben, die Qt-Typen aus dem Modul Qt GUI beschreibt.

Sie können die Datei auch verwenden, um Code für andere Sprachen oder Frameworks zu generieren.

Importieren Sie das benötigte Qt GUI types Modul in Ihre Interface .proto Datei Zum Beispiel:

syntax = "proto3";

package project.module.component;

import "QtGui/QtGui.proto";

message QMatrix4x4Message {
    QtGui.QMatrix4x4 matrix = 1;
}

Der Qt Protobuf -Generator erkennt die Qt GUI -Typen, die vom ProtobufQtGuiTypes-Paket bereitgestellt werden, und verwendet sie direkt. Dies gibt Ihnen die Flexibilität, diese Typen ohne zusätzliche Konvertierung zu verwenden.

QImage-Serialisierung

Die ProtobufQtGuiTypes-Bibliothek bietet die Möglichkeit, mit der Klasse QImage zu arbeiten. Normalerweise konvertiert die Bibliothek alle QImage Objekte in das PNG Format. Wenn jedoch QImage mit https://doc.qt.io/qt-6/qimage.html#Format-enum a {Fließkommaformate} erstellt wurde, führt die Konvertierung in PNG zu Datenverlust. Um Datenverluste zu vermeiden, konvertiert die Bibliothek die Bilddatei automatisch in das Format TIFF, wenn es vom System unterstützt wird, andernfalls in PNG.

Hinweis: Wenn Sie TIFF nicht verwenden möchten, müssen Sie das Bild explizit in ein Nicht-Fließkomma-Format konvertieren.

© 2025 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.