很多时候,我们对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)