操作步骤:
- 下载源码quazip-0.7.3.zip ,在网上找找下载地址
- 上传源码进行解压,然后使用命令
cd quazip-0.7.3
qmake
make - 主要用的是quazip-0.7.3/quazip这个里面的源码,然后把源码加入到自己创建的qt项目pro中,导入方式选中项目鼠标右键Add Libary,并导入quazip源码和对应的so库文件
- 解压文件代码
cpp
/**文件解压
* @brief extractFolder
* @param zipFilePath 解压文件的路径
* @param extractPath 解压到哪个目录下
*/
bool extractFolder(const QString& zipFilePath, const QString& extractPath) {
// 打开 ZIP 文件
QuaZip zip(zipFilePath);
if (!zip.open(QuaZip::mdUnzip)) {
qDebug() << "Failed to open ZIP file";
return false;
}
QDir().mkpath(extractPath);
// 枚举 ZIP 文件中的所有条目
QuaZipFileInfo info;
QuaZipFile zipFile(&zip);
for (bool more = zip.goToFirstFile(); more; more = zip.goToNextFile()) {
if (!zip.getCurrentFileInfo(&info)) {
qDebug() << "Failed to get file info";
return false;
}
// 提取文件
if (!zipFile.open(QIODevice::ReadOnly)) {
qDebug() << "Failed to open file inside ZIP";
return false;
}
QString filePath = extractPath + "/" + info.name;
QDir().mkpath(QFileInfo(filePath).absolutePath());
QFile outFile(filePath);
if (!outFile.open(QIODevice::WriteOnly)) {
qDebug() << "Failed to create output file" << filePath;
return false;
}
outFile.write(zipFile.readAll());
outFile.close();
zipFile.close();
}
// 关闭 ZIP 文件
zip.close();
return true;
}