首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是QTreeWidgetItem中的角色?

什么是QTreeWidgetItem中的角色?
EN

Stack Overflow用户
提问于 2009-07-02 19:22:15
回答 3查看 11.2K关注 0票数 7

我有一个包含多个列的QTreeWidget,我在其中添加了QTreeWidgetItems。我尝试让第二列包含每个Item的数值,这样我就可以按这个值对条目进行排序

代码语言:javascript
运行
复制
QTreeWidgetItem has a method called setData(int column, int role, QVariant(data))

我找不到任何关于这个role参数是什么的文档。我所知道的是,如果我将它设置为1或2,列中会显示一些东西,如果我将它设置为0或>=3,列中不会显示任何东西,无论如何,数字总是按字母顺序排序,这是错误的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-07-03 11:03:10

您可以将Qt::UserRole用于特定于应用程序的目的。由于此数据是一个QVariant,因此您可以创建一个QList来设置多个数据,然后将其转换为QVariant并设置数据。

下面是一个示例:

代码语言:javascript
运行
复制
QTreeWidgetItem* item = new QTreeWidgetItem();
QList<QVariant> dataList;
dataList.append("data 1");
dataList.append("data 2");
QVariant data(dataList);
item->setData(0, Qt::UserRole, data);
票数 8
EN

Stack Overflow用户

发布于 2009-07-02 20:04:17

相关文档可以在Qt::ItemDataRole (通过QAbstractItemModel::setData找到)下找到。角色用于指定要传递的数据的用途。您可以使用不同的角色来设置工具提示、项目的字体或颜色等。

票数 7
EN

Stack Overflow用户

发布于 2009-11-15 14:29:46

请注意,item->text()相当于item->data(Qt::DisplayRole).toString()的便利性

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1076208

复制
相关文章

相似问题

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