やあみんな(そこに:)。
Qtでカスタムクラスをファイルに書き込むのに最適な方法はどれですか?
前もって感謝します。
マティアス
質問する
5631 次
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 に答える