首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Qt树模型存储数据?

使用Qt树模型存储数据?
EN

Stack Overflow用户
提问于 2020-01-06 02:19:26
回答 1查看 328关注 0票数 1

当前:

我用QTreeWidget创建并填充了一个QTreeWidgetItems,并设置了QTreeWidgetItems的文本。

问题:我不知道如何实际使用QTreeWidgetItems进行数据存储

看:https://doc.qt.io/qt-5/qt.html#ItemDataRole-enum

代码语言:javascript
复制
void QTreeWidgetItem::setData(int column, int role, const QVariant &value)

我看到我可以使用一个Qt::ItemDataRole来指定存储的数据类型,但是枚举中的任何选项都不涉及实际存储原始数据,只有Qt属性。

问题:

如何在WTreeWidgetItem?

  • If中存储实际数据,如双值数据?我不应该实际将数据存储在树项中,是否需要使用辅助结构并使用带有内部指针的模型索引将2链接到一起?

信息:

  • Qt5 (c++)
  • MSVC 15 2017 + Qt设计师
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-06 02:47:42

您可以保存QVariant支持的类型,如果不支持Qt,则指出支持新类型的规则,在双倍的情况下,支持使用setData方法来指示和使用默认情况下未使用的角色,如Qt::UserRole。

代码语言:javascript
复制
float data = 5.0;
int column = 0
item->setData(column, Qt::UserRole, data);

要获得数据,必须转换由QTreeWidgetItem的data()方法获得的数据:

代码语言:javascript
复制
int column = 0
QVariant v = item->data(column, Qt::UserRole);
float value = v.toFloat(); // or v.value<float>();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59605969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档