Qt 使用Quazip解压缩、压缩文件

这篇具有很好参考价值的文章主要介绍了Qt 使用Quazip解压缩、压缩文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.环境搭建

Quazip,是在zlib基础上进行了简单封装的开源库,适用于多种平台,利用它可以很方便将单个或多个文件打包为zip文件,且打包后的zip文件可以通过其它工具打开。

下载Quazip

QuaZIP download | SourceForge.net

解压后,使用QtCreator打开quazip.pro文件。

Qt 使用Quazip解压缩、压缩文件,Qt进阶,qt,开发语言,Quazip,压缩

我这里使用MSVC2015_64的编译器。

拷贝Qt目录下的QtZlib/zlib.h和zconf.h文件到quazip源码目录。

Qt 使用Quazip解压缩、压缩文件,Qt进阶,qt,开发语言,Quazip,压缩

要拷贝的目的目录如下: Qt 使用Quazip解压缩、压缩文件,Qt进阶,qt,开发语言,Quazip,压缩

修改quazip.pri文件如下图所示:

添加

$$PWD/zconf.h

$$PWD/zlib.h

INCLUDEPATH += $$PWD
DEPENDPATH += $$PWD
HEADERS += \
        $$PWD/crypt.h \
        $$PWD/ioapi.h \
        $$PWD/JlCompress.h \
        $$PWD/quaadler32.h \
        $$PWD/quachecksum32.h \
        $$PWD/quacrc32.h \
        $$PWD/quagzipfile.h \
        $$PWD/quaziodevice.h \
        $$PWD/quazipdir.h \
        $$PWD/quazipfile.h \
        $$PWD/quazipfileinfo.h \
        $$PWD/quazip_global.h \
        $$PWD/quazip.h \
        $$PWD/quazipnewinfo.h \
        $$PWD/unzip.h \
        $$PWD/zip.h \
        $$PWD/zconf.h \
        $$PWD/zlib.h

SOURCES += $$PWD/qioapi.cpp \
           $$PWD/JlCompress.cpp \
           $$PWD/quaadler32.cpp \
           $$PWD/quacrc32.cpp \
           $$PWD/quagzipfile.cpp \
           $$PWD/quaziodevice.cpp \
           $$PWD/quazip.cpp \
           $$PWD/quazipdir.cpp \
           $$PWD/quazipfile.cpp \
           $$PWD/quazipfileinfo.cpp \
           $$PWD/quazipnewinfo.cpp \
           $$PWD/unzip.c \
           $$PWD/zip.c

然后编译,生成库文件

Qt 使用Quazip解压缩、压缩文件,Qt进阶,qt,开发语言,Quazip,压缩

2.使用

新建工程QuaZipTest,工程同级目录新建thirdPart目录。

Qt 使用Quazip解压缩、压缩文件,Qt进阶,qt,开发语言,Quazip,压缩

thirdPart目录结构如下:

 Qt 使用Quazip解压缩、压缩文件,Qt进阶,qt,开发语言,Quazip,压缩

include目录下,将Quazip的头文件拷贝过去。

 Qt 使用Quazip解压缩、压缩文件,Qt进阶,qt,开发语言,Quazip,压缩

修改 QuaZipTest,pro文件

QMAKE_LIBDIR += $$PWD/../thirdPart/quazip/

INCLUDEPATH += $$PWD/../thirdPart/quazip/include

LIBS += -lquazip

使用代码示例:

    // 解压文件
    JlCompress::extractFile("F:\\test.zip", "F:\\test.txt");

    // 压缩文件
    JlCompress::compressFile("F:\\test.zip", "F:\\test.txt");

    // 解压文件夹
    JlCompress::extractDir("F:\\test.zip", "F:\\test");

    // 压缩文件夹
    JlCompress::compressDir("F:\\test.zip", "F:\\test");

3.quazip类说明

说明
JlCompress 典型操作工具类
QuaAdler32 Adler32算法校验和
QuaChecksum32 校验和接口
QuaCrc32 CRC32校验和
QuaGzipFile GZIP 文件操作
QuaZIODevice 压缩/解压 QIODevice
QuaZip ZIP 文件
QuaZipDir ZIP文件内目录导航
QuaZipFile ZIP文件内的文件
QuaZipFileInfo ZIP压缩包内的文件信息
QuaZipFilePrivate QuaZip的接口
QuaZipNewInfo 被创建的文件信息
QuaZipPrivate QuaZIP内部类

4.QtCreator无法使用msvc的编译器解决方法

编译项目,提示无法运行rc.exe

使用everything搜索rc.exe和rcdll.dll这两个文件,然后拷贝

D:\Windows Kits\10\bin\10.0.17763.0\x64\rc.exe

D:\Qt\Qt5.11.0\5.11.0\msvc2015_64\bin\文章来源地址https://www.toymoban.com/news/detail-736542.html

到了这里,关于Qt 使用Quazip解压缩、压缩文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包