3

やあみんな(そこに:)。
Qtでカスタムクラスをファイルに書き込むのに最適な方法はどれですか?
前もって感謝します。
マティアス

4

1 に答える 1

5

編集: 質問は既にされています。Qt によるシリアル化

最善の方法は、QDataStreamを使用してシリアル化することです。特定のクラスに対して、MyClass新しいストリーム演算子を定義する必要があります

QDataStream &operator<<(QDataStream &, const MyClass &);
QDataStream &operator>>(QDataStream &, MyClass &);

QDataStreamはすでにいくつかの Qt クラスを作成できます。主にコレクションや などの便利なクラスです。QImageのサブクラスをシリアライズできないことに注意してくださいQObject。理由はいくつかあります :) が、QObjectそれ自体は上記のようなコピー コンストラクターも in\out ストリーム関数も提供しないという説明に限定してください。

カスタム クラスが既にシリアル化を提供しているクラスを派生させる場合は、このスーパークラスのストリーム オペレーターを呼び出す必要があることに注意してください (サブクラスを構築するときにスーパークラスのコンストラクターを呼び出すのと同じ原則)。

于 2013-01-17T09:52:15.143 に答える