1
我想知道如何在QTableWidgetItem的项目/行/列上设置'标签'。例如,在C#中它被称为ListView上的标签。我需要这个,因为我需要将一个项目链接到每一行。关于项目的QTableWidget标签
ListViewItem.Tag = myObject;
感谢您的任何帮助。
我想知道如何在QTableWidgetItem的项目/行/列上设置'标签'。例如,在C#中它被称为ListView上的标签。我需要这个,因为我需要将一个项目链接到每一行。关于项目的QTableWidget标签
ListViewItem.Tag = myObject;
感谢您的任何帮助。
这可以通过使用QTableWidgetItem::setData()和QVariant
魔法来实现。例如:
// Allow your object type to be converted to a QVariant:
Q_DECLARE_METATYPE(ObjectType*);
// Define a role to store your object under:
const int ObjectRole = Qt::UserRole + 1;
QTableWidgetItem *item = new QTableWidgetItem();
item->setData(ObjectRole, QVariant::fromValue(myObject));
,然后检索您的对象:
ObjectType *myObject = item->data(ObjectRole).value<ObjectType*>();
容易吧? )
参见:Q_DECLARE_METATYPE,QVariant::fromValue(),QVariant::value()