1 .概述QVariant类似于java中的对象。
QVariant可以存储各种数据类型,QVariant比C/C的union强大得多,QVariant具有内置的支持所有QMetaType:Type声明的类型。 简单来说,QVariant可以存储任何数据类型,并将其表示为弱语言,如JS中的var。
2 .构造函数变量(布尔);
双精度;
qvariant (常数字符串);
qvariant (常数列表);
qvariant (常数映射、qvariant映射);
qvariant(Constqhashqstring,QVariant hash );
qvariant (常数变量器;
//还有很多
使用setValue ()方法设置数据QVariant v;
v.setvalue(5;
4 .静态方法设置数据- fromvalueqvariantv=qvariant :3360 from value (XXX ); 5 .值qrealtoreal(bool*ok=q_nullptr ) const; QByteArray toByteArray () const; 6 .使用基本类型数据//保存数据
QVariant var=12;
//获取数据
int data=var.toInt (;
7 .使用自定义类型数据MyClass myClass;
//保存数据
qvariant data=qvariant :3360 from value (my class;
//获取数据
my class my class=data.value my class (;
int id=myClass.id;
QString name=myClass.name;
8 .使用指针//保存数据
qvariantvar=qvariant :3360 from value ((void * ) event );
//获取数据
qpaintevent*e=(qpaintevent* ) var.valuevoid* );