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

1,简介

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

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

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

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

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

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

2,ZipAPI 工具类接口

class ZipAPI
{
public:
	ZipAPI();

    //压缩一个文件夹
    static bool ZipDir(QString strDir, QString strZipfile);

    //压缩一群文件
    static bool ZipFiles(QStringList files, QString strZipfile);

    //解压
    static bool UnZip(const QString& strZipfile, const QString &strOutDir);

}

3,效果演示

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

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

压缩文件夹: 

压缩、解压多个文件: 

4,演示程序、源码下载

链接:https://pan.baidu.com/s/1Orm3gs_X45iUhEp1Ldnozw?pwd=jmy8 
提取码:jmy8

你可能感兴趣的:(Qt编程,qt,压缩,解压)