当前位置: 首页>编程语言>正文

QT zip 解压 压缩文件

在项目构建文件中添加

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();
}

https://www.xamrdz.com/lan/5s91961779.html

相关文章: