Qt三方库开发技术(一):QuaZIP介绍、编译和使用
前言
Qt使用一些压缩解压功能,探讨过libzip库,zlib库,libzip库比较原始,还有其他库,都比较基础,而在基础库之上,又有高级封装库,Qt中的QuaZIP是一个很好的选择。
本文主要详解QuaZIP。
QuzZip介绍
QuaZIP是Gilles Vollant的ZIP / UNZIP软件包的简单C ++包装,可用于访问ZIP档案。
依赖库:zlib库
Qt 4无论如何都依赖于zlib,但是您将需要zlib标头来编译QuaZIP。使用Qt5有时,您还需要zlib库(例如,在Windows上)。
支持平台
QuaZIP当前已在以下平台上进行了测试:
- linux-g ++(Ubuntu 11.10,Qt 4.7.4)
- freebsd-g ++(Qt 4.0.0
- hpux-acc(HP-UX 11.11)
- hpux-g ++(HP-UX 11.11)
- win32-g ++(MinGW)
- win32-msvc2010(MS VS 2010 Express,Qt 4.8.4)
- win32-msvc2010(Qt Creator,Qt 5.0.1)
- win32-msvc2012(Qt Creator,Qt 5.2.0)
目标平台:windows Qt5.9.3 msvc2015x86
编译zlip
参考文章《zlib开发笔记(一):zlib库介绍、编译和工程模板》。
下载QuaZIP
官方:http://quazip.sourceforge.net
QQ群下载地址:1047134658(点击“文件”搜索“quazip”,群内与博文同步更新)
编译QuaZIP库
步骤一:下载解压

步骤二:CMake配置configure

步骤三:修改Qt版本

步骤四:添加zlib库

步骤五:CMake生成 工程

步骤六:使用Qtcreator打开quazip源码pro文件

上图加入zlib库的路径,然后编译。
模块化

Demo
#include <QApplication>
#include "QuaZibManager.h"
#include <QDebug>
#define LOG qDebug()<<__FILE__<<__LINE__
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
LOG;
QuaZibManager quaZibManager;
QStringList list = quaZibManager.getZipFileList("testFile.zip");
LOG;
for(int index = 0; index < list.size(); index++)
{
LOG << list.at(index);
}
LOG;
return a.exec();
}
Demo结果


工程模板
quaZipDemo_v1.0.0_基础模板_基础环境.rar
Qt三方库开发技术(一):QuaZIP介绍、编译和使用的更多相关文章
- Qt混合Python开发技术:Python介绍、混合过程和Demo
前言 Qt中混合Python开发,可调用Python命令与脚本. Python Python是一种跨平台的计算机程序设计语言. 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语 ...
- 快速全面了解QT软件界面开发技术
快速全面了解QT软件界面开发技术 目录 前言 一. 学习QT可能的目的是什么? 只想体验一下QT? 当前的项目选择了用QT. 为将来做QT技术储备. 二. QT的核心技术优势是什么? QT在软 ...
- Qt开发技术:QCharts(三)QCharts样条曲线图介绍、Demo以及代码详解
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- iOS:iOS开发非常全的三方库、插件等等
iOS开发非常全的三方库.插件等等 github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自git ...
- 3星|《给产品经理讲技术》:APP开发技术介绍,没有技术背景的话恐怕只能看懂书中的比喻和结论
基本是APP开发涉及到的相关技术的入门级介绍.涉及到的知识点与技术细节比较多,不少技术相关的内容并没有像标题暗示的那样没有技术背景也可以看懂,而是涉及到许多专业的术语.原理.也有一些内容是用比喻的方法 ...
- 可能对Flutter应用程序开发有用的代码/库/专有技术列表
当我开始使用Flutter实施该应用程序时,我开始担心“如何最好地编写?”以及“如何使其更好地放置?”. 在这种情况下,您将需要参考GitHub上发布的代码和应用程序. 因此,我收集了似乎对Flu ...
- 《Python测试开发技术栈—巴哥职场进化记》—软件测试工程师“兵器库”
上文<Python测试开发技术栈-巴哥职场进化记>-初来乍到,请多关照 我们介绍了巴哥入职后见到了自己的导师华哥,第一次参加团队站会,认识了团队中的开发小哥哥和产品小姐姐以及吃到了公司的加 ...
- HarmonyOS三方件开发指南(15)-LoadingView功能介绍
目录: 1. LoadingView组件功能介绍2. Lottie使用方法3. Lottie开发实现4.<HarmonyOS三方件开发指南>系列文章合集 1. LoadingView组件功 ...
- Qt开发技术:图形视图框架(二)场景QGraphicsScene、QGraphicsItem与QGraphicsView详解
前话 Qt的图形视图框架,最核心的三个类为:QGraphicsScene.QGraphicsItem与QGraphicsView. 基于图形框架的高级白板软件Demo QGraphicsSce ...
- WPF开发技术介绍
本月做了一个小讲座,主要是WPF的开发技术介绍,由于是上班时间,去听的人不多,但对于自己来说至少是又巩固了Winform的知识,抽时间写一篇文章,在此分享给大家,有什么宝贵建议大家也可以提给我,谢谢. ...
随机推荐
- [转帖]py_innodb_page_info.py工具使用
目录 一.Linux安装Python3 1. 解压包 2. 安装环境 3. 生成编译脚本 4. 检查python3.10的编译器 5. 建立Python3和pip3的软链 6. 添加到PATH 7. ...
- [转帖]360孵化奇安信科创板上市,IPO前清空股权赚37亿元分手费
https://baijiahao.baidu.com/s?id=1666485645739027654&wfr=spider&for=pc 来源:IPO头条 来源:IPO头条原创 ...
- [转帖] Linux命令拾遗-查看系统信息
https://www.cnblogs.com/codelogs/p/16060714.html 简介# 作为一名程序员,有时需要关注自己的进程运行在什么样的软硬件环境里,比如几核cpu.固态硬盘还是 ...
- CentOS7 和 CentOS8 安装 rusers-server 然后使用LR 实时监控Linux主机性能的办法
LR 能够通过RPC 的工具 实时获取 被压测机器的 性能表现 但是需要安装几个组件. CentOS6 时期比较简单 可以通过网上 下载rstatd 的tar 包离线安装即可 但是发现CentOS7 ...
- clickhouse 优化实践,万级别QPS数据毫秒写入和亿级别数据秒级返回 | 京东云技术团队
1.背景 魔笛活动平台目前在采集每个活动的用户行为数据并进行查询,解决线上问题定位慢,响应不及时的问题,提升客诉的解决效率.目前每天采集的数据量5000万+,一个月的数据总量15亿+,总数据量40亿+ ...
- 用webpack给js添加上版本号
在网上查找了很多的资料. 都没有好的资源 因为我现在在项目是vuecli3.0 需要自己去创建文件 在项目的根目录下,创建一个文件vue.config.js 然后在该文件下写 const webpac ...
- 【JS 逆向百例】你没见过的社会主义核心价值观加密
关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后 ...
- zap自定义日志级别
简介 zap是有uber开发的一款日志库. zap提供了三个快速创建Logger方法: NewProduction: 以JSON格式记录Info级别及以上的标准错误日志 NewDevelopment: ...
- 从零开始配置 vim(4)——键盘映射的一些技巧
通过前面的学习,我们已经知道了如何进行键盘映射,并且也知道了在任何场合应该使用非递归版本的映射.这篇再介绍一些使用关于快捷键映射的内容作为收尾 快速编辑 vimrc 文件 通过前面掌握的知识,相信各位 ...
- 脑科学与人工神经网络ANN的发展历程与最新研究
本文深入研究了ANN的基本概念.发展背景.应用场景以及与人脑神经网络的关系. 关注TechLead,分享AI全维度知识.作者拥有10+年互联网服务架构.AI产品研发经验.团队管理经验,同济本复旦硕,复 ...