Qt——QuaZip的压缩和解压

转自:https://www.cnblogs.com/lvdongjie/p/7345541.html

1、简介

QuaZIP是使用Qt,C++对ZLIB进行简单封装的用于压缩ZIP以及解压缩ZIP的开源库。
官方主页:http://quazip.sourceforge.net/
souceforge下载地址:http://sourceforge.net/projects/quazip/

2、编译

QuaZip是基于Zlib库的,编译前要导入zlib的头文件,编译后会生成quazip.lib和quazip.dll文件(用的是vs)

如果用Qt来编译,直接编译会报错,需要添加zlib.h的包含目录,在quazip/quazip.pro文件中添加INCLUDEPATH += “qt源码目录\src\qtbase\src\3rdparty\zlib”

同时将quazip.pro文件中的SUBDIRS = quazip qztest注释,换成SUBDIRS = quazip,选择“重新构建”会生成libquazipd.a和quazipd.dll

3、环境配置

将编译好的lib和include文件拷贝到你的工程目录下。
在这里插入图片描述
在这里插入图片描述
然后再pro中添加:

LIBS += -L"D:/quazip/lib" -lquazip
INCLUDEPATH += D:/quazip/src
DEPENDPATH += D:/quazip/src

4、应用

函数

/**
    压缩文件夹
    参数一fileCompressed:压缩后的文件
    参数二dir:待压缩的目录
    参数三recursive:是否递归
**/
static bool compressDir(QString fileCompressed, QString dir = QString(), bool recursive = true);

/**
    解压缩文件夹 
    参数一fileCompressed:待解压缩的文件
    参数二fileCompressed:解压缩存放的目录
**/
static QStringList extractDir(QString fileCompressed, QString dir = QString());

例子

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "JlCompress.h"
#include <QMessageBox>
//此处省略一部分代码
//压缩
void MainWindow::on_pushButton_clicked()
{
    if(!JlCompress::compressDir("E:\\test.zip","E:\\test"))
        QMessageBox::warning(this,"warning","compress failed");
    else QMessageBox::warning(this,"warning","compress successed");
}
//解压
void MainWindow::on_pushButton_2_clicked()
{
    JlCompress::extractDir("E:\\test.zip","E:\\extractZip");
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值