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 以及程序应用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值