2012-11-06 152 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。