在项目构建文件中添加
QMake:
QT += gui-private
CMake:
find_package(Qt5 COMPONENTS Gui REQUIRED)
target_link_libraries(KC_Auto_Cpp Qt5::Gui)
使用qt5中自带的qzipreader_p.h,zipwriter_p.h
#include "QtGui/private/qzipreader_p.h"
#include "QtGui/private/qzipwriter_p.h"
压缩指定的文件为zip格式
void zipWriter(const QString& filePath,const bool &flag)
{
// 获取文件所在目录路径
QFileInfo fileInfo(filePath);
QString directoryPath = fileInfo.absolutePath();
QString fileName;
//是否保留拓展名
if(flag)
{
fileName=fileInfo.fileName();
}
else{
fileName=fileInfo.completeBaseName();
}
// 构建压缩文件的完整路径
QString zipFilePath = directoryPath+QDir::separator()+fileName+".zip";
// 创建 QZipWriter 对象
QZipWriter *writer = new QZipWriter(zipFilePath);
// 打开文件
QFile file(filePath);
if (!file.exists())
{
return;
}
file.open(QIODevice::ReadOnly);
// 添加文件到压缩包
writer->addFile(fileInfo.fileName(), file.readAll());
// 关闭文件
file.close();
// 关闭 QZipWriter
writer->close();
}