Qt 自带的压缩QZipWriter和解压QZipReader详解~含Demo

目录

前言:

一、压缩

1. QZipWriter详解

1.1 构造方法:

1.2 设置压缩权限:

1.3 添加文件:

1.4 添加目录:

2. 代码组织

2.1 pro添加gui-private

2.2 头文件

2.3 代码分享

 3.压缩Demo下载

二、解压

 1、 代码组织

 2、demo分享


前言:

        QZipWriter是用来压缩文件的类,需要在安装Qt是选择Sources源码安装。否则,无法使用QZipWriter。

一、压缩

1. QZipWriter详解

1.1 构造方法:

QZipWriter(const QString &fileName, QIODevice::OpenMode mode = (QIODevice::WriteOnly | QIODevice::Truncate) );
QZipWriter(QIODevice *device);

        fileName:保存zip文件的地址。

        QIODevice 是 QFile 的父类,因此在构造 QZipWriter类的对象时,可以传递一个 QFile 类的对象。

1.2 设置压缩权限:

enum CompressionPolicy {
     AlwaysCompress,
     NeverCompress,
     AutoCompress
};
void setCompressionPolicy(CompressionPolicy policy);
CompressionPolicy compressionPolicy() const;

1.3 添加文件:

 void addFile(const QString &fileName, const QByteArray &data);

1.4 添加目录:

void addDirectory(const QString &dirName);

 如果需要将文件压缩到lib目录下,那么可以这样操作:

  writer->addDirectory("lib");
  writer->addFile("lib/" + fileName, const QByteArray &data);

 这样压缩,就可以在压缩包当中看到lib目录,并且文件在lib目录下。

2. 代码组织

2.1 pro添加gui-private

QT += core gui gui-private

2.2 头文件

#include "QtGui/private/qzipreader_p.h"
#include "QtGui/private/qzipwriter_p.h"

2.3 代码分享

界面:

.h文件:

#pragma once

#include &
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值