我有一个带有几列的QTreeWidget
,我向其中添加了QTreeWidgetItems
。我尝试使第二列包含每个Item
的数字值,以便我可以按此值对项目进行排序
QTreeWidgetItem has a method called setData(int column, int role, QVariant(data))
我找不到有关
role
参数是什么的任何文档。我所知道的是,如果将其设置为1或2,则将在列中显示某些内容;如果将其设置为0或> = 3,则该列中将不会显示任何内容,无论数字始终以字母顺序进行排序,这是错误的。 最佳答案
您可以将Qt::UserRole用于特定于应用程序的目的。
由于此数据是QVariant,因此您可以创建一个QList来设置多个数据,然后将其强制转换为QVariant并设置数据。
这是一个例子:
QTreeWidgetItem* item = new QTreeWidgetItem();
QList<QVariant> dataList;
dataList.append("data 1");
dataList.append("data 2");
QVariant data(dataList);
item->setData(0, Qt::UserRole, data);
关于qt - QTreeWidgetItem中的作用是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1076208/