QVariant类
QVAriant类类似于C++的联合(uion)数据类型,它不仅能够保存很多Qt类型的值,包括 QColor、 QBrush、 QFont、QPen、QPen、 QString和 QSize等,也能够存放Qt的容器类型的值。Qt的很多功能都是建立在QVariant基础上的,如Qt的对象属性及数据库功能等.
#include
#include <ovariant>
#include <Color>
widget::Widget(QWidget *parent)
:QWidget(parent)
{
QVariant v(709);
qDebug()<<v.toInt();
QVariant w("How are you! ");
qDebug()<<v.toString();
QMap<QString,QVariant>map;
map["int"] = 709;
map["double"] = 709.109;
map["string"] = "How are you! ";
map["color"] = QColor(255,0,0);
qDebug()<<map["int"]<<map["int"].toInt();
qDebug()<<map["double"]<<map["int"].toDouble();
qDebug()<<map["string"]<<map["int"].toString();
qDebug()<<map["color"]<<map["int"].value<QColor>();
QStringList s1;
s1<<"A"<<"B"<<"C"<<"D";
QVariant slv(s1);
if(slv.type()==QVariant::StringList)
{
QStringList list = slv.toStringList();
for(int i=0;i<list.size();++i)
qDebug()<<list.at(i);
}
}
/*
709
"How are you!
QVAriant (int, 709) 709
QVAriant (double,709. 709) 709.709
QVariant (String, How are you! )"How are you! "
QVariant (QColor, QColor(ARGB 1,1,0, 0)) QColor(ARGB 1, 1,0,0)
"A"
"B"
"C"
"D"
/*