2012-11-06 148 views
1

我正在試驗Qt和Model/View框架。
我有一些數據,我想在樹視圖中顯示和編輯。
我已閱讀文檔和this教程,但我仍然不確定在我的情況下最佳做法是什麼。
數據來自服務器和看起來是這樣的: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,名稱,價格)都是自己的QStandardItem

如果是在#3,當我編輯包含一個名稱的項目,我如何才能連接到這個名字,所以我可以張貼變回給服務器的ID。

正如你所瞭解的,這些都是基礎知識,推薦結構的草圖將非常棒。

回答

0

請勿使用QStandardItemModel。如果你有一個id,然後存儲它的QModelIndex的internalId並使用QAbstractItemModel。