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 回答