学习自唐佐林老师的Qt
main.cpp
#include <QtCore/QCoreApplication>
#include <QVariant>
#include <QPoint>
#include <QDebug>
QVariant func()
{
QVariant ret;
return ret;//返回值类型可变
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//定义变体类型对象
QVariant v1(1);
QVariant v2(3.14);
QVariant v3("520");
QVariant v4(QPoint(15, 15));
QVariant v5;
//输出变体对象v1中保存值的类型,类型名,获取保存的值
qDebug() << v1.type();
qDebug() << v1.typeName();
qDebug() << v1.toInt();
qDebug() << endl;
qDebug() << v2.type();
qDebug() << v2.typeName();
qDebug() << v2.toInt();//将v2所保存的值 以int形式输出
qDebug() << v2.toDouble();//将v2所保存的值 以Double形式输出
qDebug() << v2.value<double>();//value为变体类中的模板,调用时需要指定类型
qDebug() << endl;
qDebug() << v3.type();
qDebug() << v3.typeName();
qDebug() << v3.toInt();
qDebug() << v3.value<QString>();
qDebug() << endl;
bool ok = true;
qDebug() << v4.type();
qDebug() << v4.typeName();
qDebug() << v4.toInt(&ok);
qDebug() << ok;
qDebug() << v4.toPoint();
qDebug() << endl;
//v5 没有存数据,不合法
qDebug() << v5.isValid();
return a.exec();
}