QVariant :在C++中实现python的字典功能

问题

在 python 中,字典是一种可变容器模型,可存储任意类型对象。字典的值可以取任何数据类型,键必须是不可变的,如字符串,数字或元组,例如:

student_aa = {'name' : 'Dapang', 'age' : 18, 'course' : ('Chinese', 'Math', 'English'), 'family' : {'father' : 'ff', 'mother' : 'mm'}}

那么在 C++ Qt 中,我们可以实现 python 的字典功能吗?

****************************************** 我 是 一 条 善 于 思 考 的 躺 平 线 *********************************************************************************

概述

没错,这时就可以使用 QVariant。

Qt 文档介绍:The QVariant class acts like a union for the most common Qt data types. 意思是 QVariant 类的作用类似于最常见的 Qt 数据类型的联合。

QVariant 很方便,可以包含很多 Qt 的数据类型,如 QBrush、QByteArray、QColor、QCursor、 QFont、QImage、QPen、QPixmap、QPoint、QRect、QString、QStringList 等;也支持基本数据类型,如int、bool、double等;还可以支持自定义的数据类型。QVariant::Type 定义了 QVariant 支持的变量类型 。

示例

1. 基本数据类型、Qt 数据类型

对于这些数据类型,存入类型T,则使用 toT() 取出。例如存入 int 类型,则使用 toInt() 取出;存入QString 类型,则使用 toString() 取出。QVariant 对象的赋值可以用以下4种方法,我们用上面 student_aa 的4条信息分别举例:

    // 1
    QVariant var1 
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值