1、Q_DECLARE_METATYPE
进行数据绑定时候,出现这个bug错。
error: C2338: Type is not registered, please use the Q_DECLARE_METATYPE macro to make it known to Qt。
原因:使用了QVariant::fromValue(user),QVariant对象使用前需进行类型声明。
如下:对定义的类型进行声明
Q_DECLARE_METATYPE(类型)
// 用户信息struct User : QObjectUserData {int nID; // IDQString strName; // 用户名};// 语言typedef enum{UI_ZH, // 中文UI_EN // 英文} LANGUAGE;Q_DECLARE_METATYPE(User)Q_DECLARE_METATYPE(LANGUAGE)