很多時候,我們對QTableWidget
等控件的Item
進行數據的存取,此時,我們需要用setData()
函數將數據存進去,再通過data()
函數將數據取出來。
實例:
typedef struct stTemp
{
int nName;
int nType;
struct stTemp():nName(-1),nType(-1)
{}
}STT;
Q_DECLARE_METATYPE(STT) //自定義數據類型需要註冊才能放入QVariant
//存數據
STT stStuent;
...//結構體初始化
QVariant variant = QVariant::fromValue(stStuent);
item->setData(Qt::UserRole,variant);
//取數據
QVariant variantData = item->data(Qt::UserRole);
STT stData = variant.value<STT>()
函數原型:QStandardItem::setData(const QVariant &value, int role = Qt::UserRole + 1)