現在、ポッドキャストを再生するアプリケーションを作成しています。すべてのフィードとその中のエピソードを 内のQStandardItem
オブジェクトとして表していますQStandardItemModel
。現時点では、このモデルを保存する方法がありません。アプリケーションを閉じると、フィード モデルが煙に包まれます。の使用を検討しましQSettings
たが、それは に該当するデータ型に対してのみ機能しQVariant
ます。
この投稿を見て少し希望が持てましたが、何か間違ったことをしていると思います。アプリケーションのコンストラクターに次のコードがあります。
//Expand QVatiant to use QStandardItemModel
qRegisterMetaType<QStandardItemModel>("QStandardItemModel");
ただし、コンパイル時にこのエラーが発生します。
/ [...] QtSDK/Desktop/Qt/4.8.1/gcc/lib/QtGui.framework/Versions/4/Headers/qstandarditemmodel.h:424: error: 'QStandardItemModel::QStandardItemModel(const QStandardItemModel&)' is private
ああ。ここで、QMetaType の Qt ドキュメントのこの警告を思い出します。
パブリック デフォルト コンストラクター、パブリック コピー コンストラクター、およびパブリック デストラクタを持つ任意のクラスまたは構造体を登録できます。
では、ここからどこへ行けばよいのでしょうか。Qt は本来の動作をしているため、このアプローチは機能しません。モデルを xml ファイルとして保存することを考えていますが、それは大変な作業のようです。これはかなり一般的な問題のように思えます。どこで答えを探せばよいのかわかりません。