目录
前言:
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 &