Qt的 - 如何与QTableWidgetItem关联数据?
-
24-09-2019 - |
题
欲插入到表与每个QTableWidgetItem附加数据,以便使用在未来的数据相关联,被点击的表项时,它被。但是,这些数据应该是不可见。我该怎么办呢?
解决方案
可以使用 QTableWidgetItem::setData()
像这样:
setData(Qt::UserRole, myData); // set
其中myData
是受支持的的QVariant 类型。您可以使用QTableWidgetItem::data()
检索值,可以存储。
如果需要多于一个的可使用Qt::UserRole
+ 1,+ 2,等等(Qt::UserRole
是“它可以用于特定应用的目的的第一作用。”,就可以进一步了解的其它类型的角色这里)。
如果你存储未原生的QVariant您的支持将需要注册与Qt的元对象系统的类型的自定义类型。看 QMetaType 以对更多的细节。
如果你想存储的整数,例如:
QTableWidgetItem* widgetItem = tableWidget->item(row, col); // get the item at row, col
int myInteger = 42;
widgetItem->setData(Qt::UserRole, myInteger);
// ...
myInteger = widgetItem->data(Qt::UserRole);
其他提示
您可以从派生的QTableItem,并提供自己的数据成员,或者您可以使用QTableView中有你自己的模型。
不隶属于 StackOverflow