小言_互联网的博客

Qt使用7z压缩和解压示例(支持文件夹递归、多文件不同位置)

407人阅读  评论(0)

1,简介

Qt自带的压缩处理类功能不太完善,也不支持中文路径。

这是我封装好的一个Qt调用7z处理压缩解压的工具类 ZipAPI,提供了几个简单易用的接口。

写压缩解压代码从此非常方便快捷!

支持中文路径,支持常规的压缩解压功能:

如压缩一个文件夹(嵌套包含子文件夹)、压缩一堆文件(可在不同位置)、解压文件

注意:要将release文件夹中的 7z.exe 和 7z.dll 放到你的exe目录下!

2,ZipAPI 工具类接口


  
  1. class ZipAPI
  2. {
  3. public:
  4. ZipAPI();
  5. //压缩一个文件夹
  6. static bool ZipDir(QString strDir, QString strZipfile);
  7. //压缩一群文件
  8. static bool ZipFiles(QStringList files, QString strZipfile);
  9. //解压
  10. static bool UnZip(const QString& strZipfile, const QString &strOutDir);
  11. }

3,效果演示

制作了一个界面友好的示例demo,调用代码简洁直观。

压缩文件夹: 

压缩、解压多个文件: 

4,演示程序、源码下载

Qt使用7z压缩和解压示例.zip

链接:https://pan.baidu.com/s/1Dw_hlkXi8G66kPB19kUrmQ?pwd=9z4p 
提取码:9z4p

演示程序内含源码下载地址。


转载:https://blog.csdn.net/dpsying/article/details/127892317
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场