1

Qt とモデル/ビュー フレームワークを試しています。
ツリー ビューで表示および編集したいデータがあります。
ドキュメントとこのチュートリアルを読みましたが、私の場合のベスト プラクティスは何なのかまだわかりません。
データはサーバーから取得され、次のようになります。

int id;
int parentId;
QString name;
float price;

ID は「実行中の」番号であり、すべて一意であるため、データは次のようになります。

Id =1
parentId =0 
name= food

id = 5 
parentId =1
name = pizza

ID はエンド ユーザーにとって重要ではないため、表示しないでください。

これを階層に入れるのは、再帰関数を使用して非常に簡単です。(ただし、ここでのアイデアも大歓迎です)

  1. サーバーから取得したデータを直接に入れるべきQStandardItemModelですか?
  2. 自分のクラスを作成して継承することに意味はありますQStandardItemModel/Itemか?
  3. 各フィールド (id、name、price) は独自のものQStandardItemですか?

#3で「はい」の場合、名前を含むアイテムを編集するときに、その名前に関連付けられたIDを取得して、変更をサーバーに戻すにはどうすればよいですか。

これらが基本であることを理解しているので、推奨される構造のスケッチは素晴らしいでしょう.

4

1 に答える 1

0

QStandardItemModel を使用しないでください。ID がある場合は、それを QModelIndex の internalId に保存し、QAbstractItemModel を使用します。

于 2012-11-06T20:44:28.880 に答える