QVariant类类似于C++的联合(union),它不仅能保存很多Qt类型的值,包括QColor,QBrush,QFont,QPen,QRect,QStrin
QVariant v(709); qDebug()<<v.toInt(); QVariant w("Hello, world"); qDebug()<<w.toString(); QMap<int,QVariant> map; map[1]=12; map[2]=5.2; map[3]="beijing"; map[4]=QColor(255,200,33); qDebug()<<map[4]<<map[4].value<QColor>(); QStringList list; list<<"A"<<"b"<<"c"<<"d"<<"e"; QVariant slv(list); if(slv.type()==QVariant::StringList){ QStringList l=slv.toStringList(); for(int i=0;i<l.size();i++){ qDebug()<<l[i]; } }
g,QSize等,而且能存放Qt容器类型的值。