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

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


http://www.kler.cn/a/7923.html

相关文章:

  • LeetCode面试经典150题C++实现,更新中
  • 从0学习React(11)
  • 整理iPhone空间:iphone怎么删除相簿
  • C++中的std::tuple和std::pair
  • Unity 性能优化方案
  • 学习记录:js算法(九十二):克隆图
  • 若依Linux环境部署
  • 导数的四则运算
  • 产品经理考个PMP有多大作用吗?
  • 走进小程序【五】微信小程序架构之【逻辑层】详解
  • vs中的错误集合
  • CSDN竞赛第42期题解
  • Android 手机自动化测试工具有哪几种?
  • C++ 类与对象part3(static成员、匿名对象、友元、内部类、编译器的优化)
  • 创维跨界脑洞大 XR+汽车=睡眠?
  • STM32 FSMC接口驱动4.3寸TFT LCD屏
  • SpringBoot操作Redis
  • 【Redis】Redis 主从复制 + 读写分离
  • Linux扩展文件系统
  • 【蓝桥杯】【嵌入式组别】第九节:MCP4017编程设计
  • 图片文字的居垂直居中对齐属性:vertical-align:middle
  • ggplot2主题专栏02:时尚又商业范儿十足的ggthemr扩展包
  • 49天精通Java,第20天,Date类、Calendar类、date转calendar
  • 个人情况-单词练习
  • 穿梭框后端,java处理实现增删改查
  • lua脚本实现滑动窗口的分布式全局限流器, 控制api接口qps