网站首页 > 编程文章 正文
本文介绍两种在Qt中存储自定义数据类型的方法,一种是对结构体的存储,另一种是对自定义类对象的指针存储。
1.用QVariant存储自定义结构体
对于结构体的存储方法,Qt帮助文档中有现成的方法,下面只是做了翻译。
2. 用QHash存储自定义类的指针
这里需要强调的是存储指针,而不是类对象。用QHash可以直接用键值对的方式存储指针,而不需要做Qt元对象声明。如果要存储类对象,还是需要像上面存储结构体那样,使用Q_DECLARE_METATYPE宏来声明类型。
如果要用Hash来存储上面提到的结构体,则直接使用QVariantHash来存储即可。QVariantHash myStructHash; myStructHash.insert("keyName",var);其中var中存储了自定义结构体。获取结构体对象的方法:myStructHash.value("keyName").value<MyStruct>();
3. 适用场景
在编程中往往会涉及到自定义结构体或者类,而且常常需要一个列表把多个结构体或者类管理起来,实际中采用上述描述的用Hash来存储较为方便,而不使用QList<>。QList中只支持保存Qt元对象类型的数据。
猜你喜欢
- 2024-10-14 「Qt入门第31篇」 网络(一)Qt网络编程简介
- 2024-10-14 qt 做手机android的串口通讯 qt下串口通信
- 2024-10-14 Qt 读写txt文本文件(qt读入文件)
- 2024-10-14 Qt 信号槽连接不成功问题原因汇总
- 2024-10-14 QML 性能优化建议(一)(qml例程)
- 2024-10-14 C++ QT中文件的读写操作(UI界面)(qt怎么读取文件内容)
- 2024-10-14 Qt 中的智能指针(qt 函数指针)
- 2024-10-14 Qt如何读取和写入配置文件的数据(qt 读写配置文件)
- 2024-10-14 Qt pro文件中的常用宏说明(qt pro 自定义宏)
- 2024-10-14 Qt应用程序主窗口:拖放操作与打印文档
你 发表评论:
欢迎- 06-24一个老爸画了超级有爱的365幅画 | 父亲节献礼
- 06-24产品小白看魏则西事件——用产品思维审视百度推广
- 06-24某教程学习笔记(一):13、脚本木马原理
- 06-24十大常见web漏洞——命令执行漏洞
- 06-24初涉内网,提权那些事(内网渗透提权)
- 06-24黑客命令第16集:47种最常见的**网站方法2/2
- 06-24铭说 | 一句话木马的多种变形方式
- 06-24Java隐藏的10倍效率技巧!90%程序员不知道的魔法方法(附代码)
- 最近发表
- 标签列表
-
- spire.doc (70)
- instanceclient (62)
- solidworks (78)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)