当前位置: 首页 > news >正文

QVariant 完整详细介绍

目录

QVariant 完整详细介绍

一、什么是 QVariant

核心定位

二、支持存储的所有类型大类

1. 基础 C++ 原生类型

2. Qt 内置基础类型

3. 对象指针(QObject 子类)

4. 自定义结构体 / 类

三、基础用法:存入、取出、类型判断

1. 存入数据(构造 /setValue)

2. 取出数据(toXX () 系列函数)

3. 模板取值 value()(推荐,强类型安全)

4. 判断存储的真实类型

四、两大复合容器:QVariantList / QVariantMap

1. QVariantList = QList 数组

2. QVariantMap = QMap 键值对

五、Qt 四大核心场景(高频使用)

场景 1:QObject 属性系统 Q_PROPERTY

场景 2:Model/View 视图框架(QTableWidget / QAbstractItemModel)

场景 3:信号槽传参(统一泛型参数)

场景 4:配置文件、JSON 序列化

六、存储自定义结构体 / 类(进阶)

七、常用关键成员函数速查表

八、常见坑与注意事项

九、极简对比


QVariant 完整详细介绍

一、什么是 QVariant

QVariant是 Qt 提供的通用数据容器,可以存放任意单一类型的数据,相当于 Qt 版的 “万能变量”。 C++ 原生没有统一的通用类型(int、double、QString、QWidget*、QDate 不能用同一个容器装),QVariant解决了类型统一存储、传递的问题。

核心定位

  1. 统一接口参数 / 返回值:信号槽、Model/View、属性系统、配置读写、Item 数据都靠它传任意类型;
  2. 类型自动安全转换,自带类型识别;
  3. 不依赖模板,跨模块通用。

二、支持存储的所有类型大类

1. 基础 C++ 原生类型

intshortlong longunsigned intboolfloatdoublechar

2. Qt 内置基础类型

QStringQByteArrayQDateQTimeQDateTimeQPointQPointFQRectQRectFQSizeQSizeFQColorQFontQPixmapQImageQUrlQVariantListQVariantMap

3. 对象指针(QObject 子类)

QObject*、各类控件指针(QWidget*、QPushButton*)

4. 自定义结构体 / 类

配合Q_DECLARE_METATYPE注册后,可存入 QVariant。

三、基础用法:存入、取出、类型判断

1. 存入数据(构造 /setValue)

cpp

运行

// 方式1:直接构造赋值 QVariant v1(123); QVariant v2("字符串"); QVariant v3(QString("Qt")); QVariant v4(true); QVariant v5(QColor(255,0,0)); // 方式2:setValue 动态修改 QVariant v; v.setValue(3.1415); v.setValue(QPointF(100,200));

2. 取出数据(toXX () 系列函数)

每个类型都有对应的转换函数,转换失败返回默认值:

cpp

运行

QVariant v(100); int num = v.toInt(); double d = v.toDouble(); QString str = v.toString(); bool b = v.toBool(); QVariant colorVar(QColor(Qt::red)); QColor c = co
http://www.jsqmd.com/news/1048039/

相关文章:

  • 爱彼腕表回收避坑指南!2026长沙名表线下实测,7家实体回收门店客观盘点 - 薛定谔的梨花猫
  • 论时空几何的永恒性与认知升维的路径——基于块状宇宙理论与碳硅共轭的生命形态演化假说(世毫九实验室原创研究)
  • 最新发布:2026年宣城中考200多分,98%就业率的国家级重点公办技校正在招生! - 小张zc
  • 2026丽江旅拍婚纱照推荐哪家好|选店指南+高性价比品牌清单 - charlieruizvin
  • 2026 河南省学历提升新渠道:抵触线下集中上课,电大中专线上结业通知更新 - cc江江
  • 内蒙古亲子游首选导游推荐|正规持证、无隐形消费、专属家庭游玩规划(2026最新) - 纯玩旅游分享
  • 5分钟快速上手:免费城通网盘解析工具终极指南
  • 2026成都靠谱二手房装修公司推荐榜:真实口碑与施工履约深度解码 - 成都装修谈
  • 欧米茄官方售后服务中心:流程/价格/时效揭秘,附2026年最新网点地址及电话信息 - 欧米茄中国服务中心
  • 3步实现STM32高精度温度控制:从±2°C波动到±0.5°C稳定的实战指南
  • Redis Memory Analyzer实战案例:识别和解决常见内存问题
  • 2026 哈尔滨县域首饰回收 | 覆盖五常阿城双城 奢二网可预约上门 - 讯息早知道
  • 2026海南注册公司注册资金怎么填写?认缴期限规划技巧,正规权威海南TOP5财税代办推荐 - GrowthUME
  • 2026年6月最新实测:无锡亨得利官方售后手表密封性检测费用全公开,恒隆广场办公楼1座1804单元店实地探访与多品牌防水检测价格对照 - 亨得利腕表维修中心
  • 2026 安徽省|不想线下上课?电大中专全程线上考核毕业最新政策发布 - cc江江
  • 终极指南:Awesome Prompts - 解锁AI对话无限潜能的提示词宝库
  • SMUDebugTool:深度优化AMD Ryzen系统的3种专业方法
  • 2026年6月最新欧米茄官方售后网点核验报告:全新售后地址正式启用,服务电话同步升级 - 欧米茄中国服务中心
  • 2026杭州婚拍全景评测:头部三强实力盘点指南 - charlieruizvin
  • 便宜的 AI API 接口怎么评估?从小额测试到 Dify、Chatbox、Cherry Studio 接入
  • 2026年浪琴中国区售后服务网络更新优化 全国60+门店地址及电话汇总 - 浪琴中国服务中心
  • 【物理教学】光学实验设备昂贵?LabVIEW虚拟仿真替代
  • 2026安徽省宿州市当兵政审缺学历?电大中专正规毕业证最新发布 - cc江江
  • 2026年6月最新实测:杭州亨得利官方售后帝舵手表抛光打磨费用全公开,钱江新城华润大厦B座4105室店实地探访与多品牌外观翻新价格对照 - 亨得利腕表维修中心
  • Fidget未来路线图:iOS与Android支持进展及新特性预告
  • 2026安徽省中考100-400分的最优选择!官方简章已发! - 小张zc
  • 最新发布:2026年宿州中考200分上下,不限户籍的公办国家级重点技校正在招生! - 小张zc
  • 教育类毕设高分项目|校园智能在线考试系统(Spring Boot + Vue3 + AI)完整开源免费下载(毕设论文智能AI画图助手)
  • 2026年6月欧米茄官方售后网点大盘点|实地核验+地址电话全收录 - 欧米茄中国服务中心
  • 如何使用Artie Transfer将MySQL数据实时同步到Snowflake:完整教程