如何利用 QStandardItem 存放任意数据类型?

maogou4260 2013-02-21 03:26:49
一般我们使用 QStandardItem 和 QStandardItemModel 时,会这样做

QStandardItemModel model = new QStandardItemModel(4,1);
QStandardItem *item1 = new QStandardItem("first");
QStandardItem *item2 = new QStandardItem("second");
QStandardItem *item3 = new QStandardItem("third");
QStandardItem *item4 = new QStandardItem("fourth");

model->setItem(0, 0, item1);
model->setItem(1, 0, item2);
model->setItem(2, 0, item3);
model->setItem(3, 0, item4);


可是,QStandardItem 不是号称最灵活的吗?那为何只能存放字符串?
QStandardItem 有一个 setData 方法可以存放 QVariant,但我发现这样 View 就不能正常显示里面的数据了。

那么合理的解决方法到底是什么呢?
...全文
1121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
maogou4260 2013-03-02
  • 打赏
  • 举报
回复
View 是 QListView,现在的解决方案是给它写一个 delegate,这是不是已经是终极解决方法了?
maogou4260 2013-02-28
  • 打赏
  • 举报
回复
引用 1 楼 heksn 的回复:
setData 是可以的 你的view是怎么实现的
默认
  • 打赏
  • 举报
回复
setData 是可以的 你的view是怎么实现的

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧