Q_DECLARE_METATYPE(MyClass)宏的位置:头文件,类声明后

来源:互联网 发布:济宁博软件 编辑:程序博客网 时间:2024/06/10 01:34
2.自定义可存储QVariant中类型
要使用一个自定义类型可用于QVariant中只需要在类声明的后面加上:Q_DECLARE_METATYPE(), 
struct MyClass
{
QString name;
int age;
}
Q_DECLARE_METATYPE(MyClass)


这样我们的类就可以像QMetaType::Type类一样使用没什么不同,有点不同的是使用方法上面只能这样使用.
MyClass myClass;
QVariant v3 = QVairant::fromValue(myClass);
//
v2.canConvert<MyClass>();
MyClass myClass2 = v2.value<MyClass>();
0 0