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

qt将文件压缩成zip包

qt压缩文件zip包的方式

  • QuaZIP,功能比较完善,很多博主都有介绍如何使用,但编译过程比较麻烦,因为依赖zlib库;目前没编译通过;
  • Qzipwriter,该类使用最简单,直接在qt中包含头文件就能使用,但在qtcreator中找不到该类的信息,进到该类的源码有提示说:该类不属于qt api,不会提示更新信息,删除信息也不提示。
  • qCompress/qCompress,这是QByteArray的一个方法;其实就是打包成二进制文件;但不能操作文件夹;
  • 使用系统命令调用外部工具;

使用Qzipwriter压缩文件,QZipReader解压缩

目前已经使用Qzipwriter实现文件和文件夹的压缩和解压缩。
注意点:

  • 系统默认编码是gbk(或者其他中文编码),
    如果压缩包里面的是文件夹,则先要将文件名转成utf8;
    如果压缩包里面有文件,则不用转码;
  • QZipReader::extractAll(path);该函数只能解压文件,不能解压文件夹;
    解压文件夹及其子文件,目前使用的方法是QZipReader::fileData将文件读出来, 再用QFile写到文件;
  • 压缩文件是QZipWriter::addDirectory几乎没用,要添加子目录,只需要调用QZipWriter::addFile时将目录包含在文件名里即可。

相关文章:

  • 【软件系统架构】系列三:数据库系统之三
  • Qt:day4
  • DeepSeek本机部署(基于Ollama和Docker管理)
  • 第六十:跨组件通信-依赖注入(父传递给其他组件)
  • C# | 委托 | 事件 | 异步
  • Varjo XR-4 混合现实驾驶仿真解决方案
  • 迷你世界脚本UI五子棋小游戏
  • JDBC 完全指南:掌握 Java 数据库交互的核心技术
  • SpringBoot为什么要禁止循环依赖?
  • 从零开始的 Kafka 学习(一)| 概念,Java API
  • ⭐算法OJ⭐跳跃游戏【动态规划 + 单调队列】(C++实现)Jump Game 系列 VI
  • 场景题:10亿QQ用户,如何统计在线人数?
  • 2025最新在GitHub上搭建个人图床,保姆级图文教程,实现图片高效管理
  • 通过RK3588的cc-linaro-7.5.0交叉编译器搭建QT交叉编译环境QtCreator(无需编译QT源码)
  • 将数据库结构化数据整合到RAG问答中的方式
  • android .rc文件
  • 【图像识别UI自动测试技术第二章】模版匹配算法学习分享
  • office或者word排版中,复制/黏贴进来文字不会自动换行,如何处理?
  • 系统架构设计师—计算机基础篇—进度管理
  • 在线研讨会 | 加速游戏和AI应用,全面认识Imagination DXTP GPU
  • 杭州北京网站建设公司哪家好/最近三天的新闻大事
  • 网站建设团队管理模板/广州推广工具
  • 云南建设厅网站执业注册/推广文章的推广渠道
  • wordpress网站的配置文件/一个新手怎么做电商
  • 开发者门户网站是什么意思/成都黑帽seo
  • 在线登录qq聊天/国内seo服务商