I have a QTreeWidget
with several Columns, I add QTreeWidgetItems
to it. I try to make the second column contain a numerical value for each Item
so I can sort the items by this value
QTreeWidgetItem has a method called setData(int column, int role, QVariant(data))
I cannot find any documentation on what this role
argument is. All I know is that if I set it to 1 or 2, something shows up in the column, if I set it to 0 or >=3, nothing shows up in the column, regardless, the numbers always end up being sorted alphabetically, which is wrong.
You can use the Qt::UserRole for application specific purposes. Since this data is a QVariant, you can create a QList to set multiple data and after that cast it to QVariant and set the data.
Here is an example:
QTreeWidgetItem* item = new QTreeWidgetItem();
QList<QVariant> dataList;
dataList.append("data 1");
dataList.append("data 2");
QVariant data(dataList);
item->setData(0, Qt::UserRole, data);