Protobuf Qt GUI Types Module

protobuf で Qt Gui のネイティブ型を使うためのサポートを提供します。詳細...

このモジュールは Qt 6.6 で導入されました。

詳しい説明

Qt::ProtobufQtGuiTypes は、Qt Gui タイプの選択をカプセル化するために設計された、定義済みの protobuf メッセージのライブラリです。

サポートされている Qt Gui タイプのリストです:

Qt GUIの使い方

Qt GUI タイプのサポートを有効にするには、CMake プロジェクトに ProtobufQtGuiTypes を依存関係として追加します:

...
find_package(Qt REQUIRED COMPONENTS Protobuf ProtobufQtGuiTypes)
... # After target creation
target_link_libraries(${TARGET} PRIVATE Qt::ProtobufQtGuiTypes)

Qt GUI タイプをフィールドとして使用するメッセージのシリアライズまたはデシリアライズの前に、登録メソッドを呼び出します:

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

サポートされているメッセージはすべて、Qt GUIモジュールのQt型を記述した特別な.protoファイルQtGui.proto)に記述されています。

このファイルを使用して、他の言語やフレームワーク用のコードを生成することもできます。

インターフェイスの .proto ファイルに、必要な Qt GUI タイプモジュールをインポートします:

syntax = "proto3";

package project.module.component;

import "QtGui/QtGui.proto";

message QMatrix4x4Message {
    QtGui.QMatrix4x4 matrix = 1;
}

Qt Protobuf ジェネレーターは、ProtobufQtGuiTypes パッケージが提供する Qt GUI タイプを検出し、直接使用します。これにより、追加の変換なしでこれらの型を柔軟に使用できます。

QImage シリアル化

ProtobufQtGuiTypes ライブラリは、QImage クラスで動作する可能性を提供します。通常、ライブラリはすべてのQImage オブジェクトをPNG フォーマットに変換します。しかし、QImagehttps://doc.qt.io/qt-6/qimage.html#Format-enuma {浮動小数点フォーマット} を使用して作成された場合、PNG に変換するとデータが失われます。データ損失を防ぐため、ライブラリは、システムでサポートされている場合は自動的に画像ファイルをTIFF フォーマットに変換し、そうでない場合はPNG に変換します。

注意: TIFF を使いたくない場合は、明示的に画像を浮動小数点でない形式に変換する必要があります。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。