2012-04-17 3 views
1

QTableWidgetItem의 항목/행/열에 '태그'를 어떻게 설정할 수 있는지 궁금합니다. 예를 들어 C#에서는 Listview에서 태그라고 부릅니다. 각 행에 항목을 연결해야하기 때문에 필요합니다.QTableWidget 태그 항목

ListViewItem.Tag = myObject; 

도움 주셔서 감사합니다.

답변

3

이것은 QTableWidgetItem::setData()과 약간의 QVariant 마술을 사용하여 수행됩니다. 예를 들어 :

ObjectType *myObject = item->data(ObjectRole).value<ObjectType*>(); 

쉬운 권리 : 다음

// 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)); 

및 개체를 검색? ;)

항목 : Q_DECLARE_METATYPE, QVariant::fromValue(), QVariant::value()

관련 문제