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()