QVariant

QVariant 类是 Qt 的共 用体 union 数据 类型, 不仅 能保存 很多 Qt 类型 的值, 包括
QColor,QBrush,QFont,QRect,QString 及 QSize 等等,而且能存放 Qt 的容器类型值。

可采用 toT()将 QVariant 对象转换称为 T 类型并获取其值。如 toInt(),toFloat(),toString(),可
用 type 方法获取数据类型,判断数据是否可。

对于 GUI 模块中定义的数据类型没有相应的转换函数,即没有 toColor(),没有 toImage()这样的函数提供,可通过 value()方法实现转换,判断两种类型是否可以转换时可通过 canConvert()方法的返回值判断。

QVariant vi(10);
    //to<T>转化相应类型
    qDebug() << vi.toInt();

    QVariant vq("hello");

    QColor c = QColor(Qt::red);
    QVariant vc = c;
    qDebug() << vc.type();//type()显示数据类型
    qDebug() << vc.value<QColor>();//查看颜色值

    QVariant vss = vq;
    //返回数据转化的能力
    qDebug() << vss.canConvert(QVariant::Int);
    qDebug() << vss.toString();

    //返回数据的转化条件:有转化能力,数据类型匹配
    qDebug() << vss.convert(QVariant::Int);
    qDebug() << vss.toString();

    //退出应用程序
    QTimer::singleShot(0,qApp,SLOT(quit()));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值