Qt模型/视图框架,树视图

时间:2012-11-06 20:19:25

标签: qt treeview model-view qstandarditemmodel

我正在尝试使用Qt和Model / View框架 我有一些数据要在树形视图中显示和编辑 我已经阅读了文档和this教程,但我仍然不确定在我的案例中最佳做法是什么。
数据来自服务器,看起来像这样:

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

id是“正在运行”的数字,并且都是唯一的,因此数据可能如下所示。

Id =1
parentId =0 
name= food

id = 5 
parentId =1
name = pizza

最终用户不感兴趣,不应显示。

使用递归函数,将其置于层次结构中应该非常简单。 (但这里的任何想法也是最受欢迎的)

  1. 我应该将我从服务器获得的数据直接输入QStandardItemModel吗?
  2. 创建我自己的类并继承QStandardItemModel/Item是否有任何意义?
  3. 每个字段(ID,名称,价格)是否为自己的QStandardItem
  4. 如果在#3上为是,当我编辑包含名称的项目时,如何将ID连接到该名称,以便我可以将更改发回服务器。

    如您所知,这些是基础知识,推荐结构的草图会很棒。

1 个答案:

答案 0 :(得分:0)

不要使用QStandardItemModel。如果你有一个id,那么将它存储在QModelIndex的internalId中并使用QAbstractItemModel。