强大的QDataStream

2023-11-13

书上是这样描述QDataStream的:QDataStream提供了一种与运行平台无关的存储格式,他不仅支持QList<T>和QMap<K,T>等QT容器类,还支持整型和双精度型等基本的c++类,以及其他许多种qt数据类型,诸如QByteArray、QFont、QImage、QPixmap、QString和QVariant.

 

然而我在QListWidgetItem、QTreeWidgetItem等中都找到了void QListWidgetItem::read ( QDataStream & in ,那么可以认为它直接能够保存item,这样就可以在一些额界面中省下很多转换来转换去的代码,直接使用就行了。

 

下面就是我自己写的一个例子:

 

存文件:

QListWidgetItem *item;
QFile file("file.dat");
file.open(QIODevice::WriteOnly);
if(QDataStream out(&file))

{
      item=ui->listWidget->item(0);
      out << *item;
}
读文件:
QListWidgetItem *item = new QListWidgetItem ();
 QFile file("file.dat");
 if(file.open(QIODevice::ReadOnly))

{

    QDataStream in(&file);
    in >> *item;
    ui->listWidget->addItem(item);

}

 

这样就很方便了,qt很给力!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

强大的QDataStream 的相关文章

  • GCC C++ (ARM) 和指向结构体字段的 const 指针

    假设有一个简单的测试代码 typedef struct int first int second int third type t define ADDRESS 0x12345678 define REGISTER type t ADDRE
  • Mono 无法保存用户设置

    我在 Mono Ubuntu 上保存用户设置时遇到问题 这是代码示例 private void Form1 Load object sender EventArgs e string savedText Properties Setting
  • Qt - 无法让 lambda 工作[重复]

    这个问题在这里已经有答案了 我有以下功能 我想在其中修剪我的std set
  • 捕获 foreach 条件中抛出的异常

    我有一个foreach在 foreach 本身的条件下循环期间中断的循环 有没有办法try catch抛出异常然后继续循环的项 这将运行几次 直到异常发生然后结束 try foreach b in bees exception is in
  • 处理 fanart.tv Web 服务响应 JSON 和 C#

    我正在尝试使用 fanart tv Webservice API 但有几个问题 我正在使用 Json Net Newtonsoft Json 并通过其他 Web 服务将 JSON 响应直接反序列化为 C 对象 这里的问题是元素名称正在更改
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • VS30063:您无权访问 https://dev.azure.com

    我正在尝试在 asp net core 2 1 mvc 应用程序中使用以下代码连接 Azure DevOps Uri orgUrl new Uri https dev azure com xxxxx String personalAcces
  • 单元测试失败,异常代码为 c0000005

    我正在尝试使用本机单元测试项目在 Visual Studios 2012 中创建单元测试 这是我的测试 TEST METHOD CalculationsRoundTests int result Calculations Round 1 0
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • C# 创建数组的数组

    我正在尝试创建一个将使用重复数据的数组数组 如下所示 int list1 new int 4 1 2 3 4 int list2 new int 4 5 6 7 8 int list3 new int 4 1 3 2 1 int list4
  • C# 编译器如何决定发出可重定向的程序集引用?

    NET Compact Framework 引入了可重定向程序集引用 现在用于支持可移植类库 基本上 编译器会发出以下 MSIL assembly extern retargetable mscorlib publickeytoken 7C
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 从匿名类型获取值

    我有一个方法如下 public void MyMethod object obj implement 我这样称呼它 MyMethod new myparam waoww 那么我该如何实施MyMethod 获取 myparam 值 Edit
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 无法使用 Ninject 将依赖项注入到从 Angular 服务调用的 ASP.NET Web API 控制器中

    我将 Ninject 与 ASP NET MVC 4 一起使用 我正在使用存储库 并希望进行构造函数注入以将存储库传递给其中一个控制器 这是实现 StatTracker 接口的上下文对象 EntityFramework public cla
  • 内核开发和 C++ [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从我know https stackoverflow com questions 580292 what languages are windo
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 我应该在应用程序退出之前运行 Dispose 吗?

    我应该在应用程序退出之前运行 Dispose 吗 例如 我创建了许多对象 其中一些对象具有事件订阅 var myObject new MyClass myObject OnEvent OnEventHandle 例如 在我的工作中 我应该使
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它

随机推荐

  • linux如何查看进程

    这本阿里P8撰写的算法笔记 再次推荐给大家 身边不少朋友学完这本书最后加入大厂 Github 疯传 史上最强悍 阿里大佬 LeetCode刷题手册 开放下载了 查看进程的命令如下 ps命令 查看静态的进程统计信息 一般结合选项使用 ps a
  • 【Java】运算符

    我不去想是否能够成功 既然选择了远方 便只顾风雨兼程 汪国真 目录 1 认识运算符 1 1 认识运算符 1 2 运算符的分类 2 算术运算符 2 1 四则运算符 2 2 复合赋值运算符 2 3 自增 自减 运算符 3 关系运算符 4 逻辑运
  • innosetup安装前的准备函数InitializeSetup()

    Inno Setup 安装包 安装前执行InitializeSetup 函数 在安装时 需要在运行安装包进行安装前 做一些判定是否继续安装的工作 在Inno 的脚本里写InitializeSetup 函数即可 function Initia
  • Linux练习(显示环境变量)

    include
  • 202. 快乐数 python

    编写一个算法来判断一个数 n 是不是快乐数 快乐数 定义为 对于一个正整数 每一次将该数替换为它每个位置上的数字的平方和 然后重复这个过程直到这个数变为 1 也可能是 无限循环 但始终变不到 1 如果这个过程 结果为 1 那么这个数就是快乐
  • Linux学习笔记——ZooKeeper集群安装部署

    5 8 ZooKeeper集群安装部署 5 8 1 简介 Zookeeper是一个分布式的 开放源码的分布式应用程序协调服务 是Hadoop和HBase的重要组件 它是一个为分布式应用提供一致性服务的软件 提供的功能包括 配置维护 域名服务
  • 剑指offer思路记录(JS)

    目录 常用算法理解 3 数组中重复的数字 4 二维数组中的查找 5 替换空格 6 从尾到头打印链表 7 重建二叉树 9 用两个栈实现队列 10 1 斐波那契数列 10 2 青蛙跳台阶问题 11 旋转数组的最小数字 12 矩阵中的路径 深度优
  • C++刷题--选择题4

    1 在 情况下适宜采用 inline 定义内联函数 A 函数体含有循环语句 B 函数体含有递归语句 C 函数代码少 频繁调用 D 函数代码多 不常调用 解析 C 以inline修饰的函数叫做内联函数 编译时C 编译器会在调用内联函数的地方展
  • 将txt文件的编码格式进行修改

    一 将占用空间比较小的txt文件的GBK编码修改为UTF8的 1 右键使用记事本打开某txt文件 2 点击文件 F 按钮 选择 另存为 A 3 选择保存方式为 UTF 8 点击 保存 over 其他类型转换类似
  • android studio failed to open zip file .Android Studio Error:Connection timed out: connect.

    第一次打开安卓长时间处于下载界面 除了网速太慢 还有可能 有可能 不一定 是gradle配置问题 最近帮同学装android studio 简称AS 时候 第一次打开AS的时候一直停留在加载页面 无法进入 显示一直在下载 想起来了gradl
  • 03.查看 SVN 账号密码

    一 找到svn存放目录 本地存放SVN用户信息的目录为 C Users perke AppData Roaming Subversion auth svn simple 如果找不到直接搜索svn simple 需要时间 二 下载密码查看工具
  • Android架构分析之硬件抽象层(HAL)

    一 分析HAL module 架构 Android硬件抽象层有三个核心数据结构 分别是hw module t hw module methods t hw device t 定义在hardware libhardware include h
  • 大数据——Hadoop3.1.3安装与配置

    大数据 HADOOP 3 1 3安装与配置 1 检查 etc hosts中 ip hostname 映射 20 0 0 1 主机名 ip addr hotname 2 本机免密 cd ssh keygen t rsa cat id rsa
  • python实现随机抽奖游戏

    python实现随机抽奖游戏 import random a 一等奖 0 90 二等奖 90 180 三等奖 180 225 四等奖 225 270 再接再厉 270 360 b random randint 0 360 for x y i
  • 成功实施MES系统的11条建议,收藏备用

    信息化成为社会和企业发展的主流趋势 加上生产力的普遍提高 在这种情势下 MES系统为制造业带来新的生命活力 可以通过信息化方式 实现对整个生产环节智能化 精益化管理 但这一切的前提在于要成功实施MES系统 那么企业如何成功实施MES系统呢
  • 防抖处理(后端处理)

    什么是防抖 在一定时间间隔内函数被触发多次 但只执行最后一次 PS 虽然实际场景中都是前端在处理 但是后端也是需要进行处理的 解决方案思路 通过SpringMvc对请求进行拦截 然后进行重复校验 具体步骤看下面 1 配置自定义的拦截器 防止
  • 异步电机电压型磁链观测器改进-LPF串联HPF+基于时间向量分析的稳态补偿的改进策略

    导读 针对低通滤波环节替换电压模型纯积分环节加反馈补偿的改进方法 磁链估计仍然存在幅值和相位误差 的问题 本期文章介绍采用LPF串联HPF替换纯积分环节 然后基于时间向量分析的稳态补偿策略来对电压模型进行改进 仿真结果表明 新介绍的改进方法
  • 重磅!《深度学习 500 问》已更新,(附完整下载)

    近年来 深度学习技术在计算机视觉 cv 自然语言处理 NLP 等领域都取得了非常不错的成果 自然而然地成为技术人员争相学习的热点 为了帮助正在学习深度学习的伙伴们 川大的一名优秀毕业生 在GitHub上创建了一个项目 深度学习500问 通过
  • C/C++ 递归函数(数组倒序)

    题目描述 输入多个整数 以0结束 将这些整数逆序后输出 要求 使用递归函数将数组倒序 在main中调用递归函数 输入 多个整数 最后为0 输出 逆序后的这些整数 样例输入 1 2 5 4 0 1 2 3 4 5 6 7 8 9 0 样例输出
  • 强大的QDataStream

    书上是这样描述QDataStream的 QDataStream提供了一种与运行平台无关的存储格式 他不仅支持QList