Qt编程基础 | 第五章-数据结构 | 5.2、QVariant

QVariant是一个强大的数据类型,它可以存储多种Qt类型的值,如QColor、QFont和QString等。QVariant的type()函数用于判断存储的数据类型,示例中展示了如何存储基础类型和容器类型,如QStringList,并进行类型检查和转换。

一、QVariant

1.1、简介

QVariant类类似于C++的联合(union)数据类型,它不仅能保存很多Qt类型的值,包括QColor、QFont、QString等,也能存放Qt的容器类型的值。Qt的很多功能都是建立在QVariant基础上,如Qt的对象属性及数据库功能。

1.2、示例

1.2.1、使用Varient存放基础类型

使用Varient存放基础类型数据,如下

QVariant v(10); // 存放int类型
qDebug() << v.toInt();

QVariant str("hello"); // 存放QString类型
qDebug() << str.toString();

1.2.2、调用type()成员函数判断存储数据类型

QVariant::type()函数返回存储在QVariant变量中的值的数据类型。QVariant::StringList是Qt定义的一个QVariant::type枚举类型的变量,如下:

QStringList strList;
strList.append("AAA");
strList.append("BBB");
strList.append("CCC");

QVariant slv(strList);
// 通过type成员函数获取QVariant变量实际存储的数据类型
if (slv.type() == QVariant::StringList) {
    QStringList list = slv.toStringList();
    for (int i = 0; i < list.size(); i ++) {
        qDebug() << list[i];
    }
}

1.2.3、存放容器类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值