QT压缩解压文件

文章目录


前言

Qt工程中需要用到zip压缩解压功能,网上搜索了下,一般有以下三种使用:

  • Qt自带的zipWriter与zipReader
  • zlib
  • Quazip

对于第一种,使用Qt自带的zipWriter与zipReader,需要在工程文件添加gui-private模块,然而在安装Qt时如果未勾选Source安装的话,是没有这个模块的,而且此模块为某几个版本的私有模块,可能升级Qt之后就没有此模块了,Qt官方也不推荐使用;

对于第二种zlib,一般需要进一步封装使用,此处不做说明;

对于第三种Quazip,是在zlib基础上进行了简单封装的开源库,适用于多种平台,利用它可以很方便将单个或多个文件打包为zip文件,且打包后的zip文件可以通过其它工具打开。

使用VS2019+Qt5.15.2编译Quazip


一、下载Quazip

前往Quazip下载地址下载0.7.3版本源码.解压之后如下所示:

二、编译Quazip

1.使用vs2019打开quazip.sln

出现以下错误,莫方,点击确定。

2.使用Qt VS Tools打开外层的.pro工程




一直确定就可以成功加载了

3.编译

查看msvc版本及路径

打开msvc2019_64\include\QtZlib目录,将两个头文件拷贝到工程目录下

重新生成,编译通过!

再切换到release模式下编译,最终需要的文件有:

debug下的lib和dll库

release下的lib和dll库

quazip工程目录下的所有.h文件和.cpp文件


三、工程使用

将debug/release动静态库和include文件拷贝到zip文件夹下,将zip文件夹拷贝到工程目录下

1.配置头文件路径

2.配置静态库lib目录

3.添加库

release模式配置相同

4.动态库dll放到.exe同级目录下

5.使用

cpp 复制代码
#include "JlCompress.h"

// 解压文件
JlCompress::extractFile("F:\\test.zip", "F:\\test.txt");

// 压缩文件
JlCompress::compressFile("F:\\test.zip", "F:\\test.txt");

// 解压文件夹
JlCompress::extractDir("F:\\test.zip", "F:\\test");

// 压缩文件夹
JlCompress::compressDir("F:\\test.zip", "F:\\test");

相关推荐
2301_765715141 分钟前
C语言轮子制造
c语言·开发语言·制造
量子炒饭大师4 分钟前
【C++入门】Cyber骇客的同名异梦——【C++重载函数】(与C的函数差异)
c语言·开发语言·c++·函数重载
charlie1145141917 分钟前
现代嵌入式C++教程:if constexpr——把编译期分支写得像写注释 —— 工程味实战指南
开发语言·c++·笔记·学习·嵌入式·现代c++
冰暮流星9 分钟前
javascript如何转换为字符串与布尔型
java·开发语言·javascript
LIZhang20169 分钟前
c++ 转化句柄,解决多线程安全释放问题
开发语言·c++
youqingyike19 分钟前
Qt 中 QWidget 调用setLayout 后不显示
开发语言·c++·qt
_OP_CHEN29 分钟前
【从零开始的Qt开发指南】(二十二)Qt 音视频开发宝典:从音频播放到视频播放器的实战全攻略
开发语言·c++·qt·音视频·前端开发·客户端开发·gui开发
FAFU_kyp29 分钟前
Rust 字符串与切片
开发语言·后端·rust
oioihoii33 分钟前
从C++到C#的转型完全指南
开发语言·c++·c#
Ashley_Amanda36 分钟前
Python入门知识点梳理
开发语言·windows·python