QT笔记——QuaZIP压缩文件夹
需求:解压缩包文件
开发环境:win10 + vs2019 + qt5.14.2
开源地址:QuaZIP下载地址
第一步:
用vs 打开“quazip.sln”
可能解决方案也没有出来,我们可以在
菜单栏 视图-》解决方案资源管理器
我们发现资源管理器也加载失败了
此时我们可以通过打开前面文件夹中的.pro文件(相当于用qt 插件 打开qt 项目),选中我们的“quazip.pro”
出现上面的弹窗,选择“是”就行
第二步:
我们编译的项目时出现了错误,出现的错误是头文件缺少
我们可以寻找我们没有的文件
“zlib.h"以及"zconf.h”
路径是:“D:\QT5.12wj\5.12.2\msvc2017_64\include\QtZlib”,这个路径是我们下面编译时候的路径,然后找到QtZlib
我们可以将没有的文件 放在quazip-0.7.3文件夹中
第三步:
我们将dll放在一个文件中
第四部:
添加就是使用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;
else
return 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;
else
return false;
}
参考博客:Qt|编译 QuaZip 以及程序应用