> 文章列表 > QT笔记——QuaZIP压缩文件夹

QT笔记——QuaZIP压缩文件夹

QT笔记——QuaZIP压缩文件夹

需求:解压缩包文件
开发环境:win10 + vs2019 + qt5.14.2

开源地址:QuaZIP下载地址
QT笔记——QuaZIP压缩文件夹
第一步:
用vs 打开“quazip.sln
QT笔记——QuaZIP压缩文件夹可能解决方案也没有出来,我们可以在
菜单栏 视图-》解决方案资源管理器
我们发现资源管理器也加载失败了
QT笔记——QuaZIP压缩文件夹

此时我们可以通过打开前面文件夹中的.pro文件(相当于用qt 插件 打开qt 项目),选中我们的“quazip.pro
QT笔记——QuaZIP压缩文件夹
QT笔记——QuaZIP压缩文件夹
出现上面的弹窗,选择“”就行
第二步:
我们编译的项目时出现了错误,出现的错误是头文件缺少QT笔记——QuaZIP压缩文件夹
我们可以寻找我们没有的文件
zlib.h"以及"zconf.h
路径是:“D:\\QT5.12wj\\5.12.2\\msvc2017_64\\include\\QtZlib”,这个路径是我们下面编译时候的路径,然后找到QtZlib
我们可以将没有的文件 放在quazip-0.7.3文件夹中
QT笔记——QuaZIP压缩文件夹
第三步:
我们将dll放在一个文件中
QT笔记——QuaZIP压缩文件夹
QT笔记——QuaZIP压缩文件夹
QT笔记——QuaZIP压缩文件夹
第四部:
添加就是使用dll,然后运行项目
如何使用生成的dll文件

#include "JlCompress.h"/***********************************************************************************************函数名称 :    compress_Dir*功能描述 :    压缩文件夹*返回值   :    bool  true:压缩完成 false:压缩失败*参数列表 :    const QString & souceDir,const QString & targetDir*参数意义 :    souceDir:源文件夹					如:C:/Users/admin/Desktop/test*			   targetFileName:以.zip结尾的文件夹    如:C:/Users/admin/Desktop/test.zip*作者	  :*创建时间 :	   *用法     :**********************************************************************************************/bool compress_Dir(const QString& souceDir, const QString& targetFileName);/***********************************************************************************************函数名称 :    decompress_Dir*功能描述 :    解压压缩包*返回值   :    bool   true:解压完成 false:解压失败*参数列表 :    const QString& souceDir, const QString& targetFileName*参数意义 :    souceDir:需要解压的压缩包 以.zip结尾   如:C:/Users/admin/Desktop/test.zip*			   targetFileName:解压下来的文件夹名称	  如:C:/Users/admin/Desktop/test*作者	  :*创建时间 :	  *用法     :**********************************************************************************************/bool decompress_Dir(const QString& souceDir, const QString& targetFileName);
bool DecompressZip::compress_Dir(const QString& souceDir, const QString& targetFileName)
{//文件夹是否存在QDir dir(souceDir);if (!dir.exists()){return false;}if (JlCompress::compressDir(targetFileName, souceDir))return true;elsereturn false;
}bool DecompressZip::decompress_Dir(const QString& souceDir, const QString& targetFileName)
{//给出的文件是否为文件QFileInfo  fileInfo(souceDir);if (!fileInfo.isFile()){return false;}if (JlCompress::extractDir(souceDir, targetFileName).length() > 0)return true;elsereturn false;
}

参考博客:Qt|编译 QuaZip 以及程序应用