下载资源后端资源详情
QZipReader.zip
大小:6.19KB
价格:32积分
下载量:0
评分:
5.0
上传者:ManagerUser
更新日期:2025-09-22

Qt之QZipReader解压文件

资源文件列表(大概)

文件名
大小
QZipReader/QZipReader.pro
1.22KB
QZipReader/QZipReader.pro.user
19.78KB
QZipReader/main.cpp
368B
QZipReader/mainwindow.cpp
2.1KB
QZipReader/mainwindow.h
514B
QZipReader/mainwindow.ui
4.18KB
QZipReader/msvc_make.bat
53B
QZipReader/
-

资源内容介绍

本资源可以参考博客,有详细的说明:https://blog.csdn.net/ManagerUser/article/details/125352499
#include "mainwindow.h"#include "ui_mainwindow.h"#include <private/qzipwriter_p.h>#include <private/qzipreader_p.h>#include <QStandardPaths>#include <QDir>#include <QFileDialog>#pragma execution_character_set("utf-8")MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this);}void MainWindow::zipReader(QString filepath, QString savepath){ QZipReader zipreader(filepath); //reader.extractAll(path); // //可加可不加没有什么影响 for (int i = 0; i < zipreader.fileInfoList().size(); ++i) { QFile file(savepath + "/" + zipreader.fileInfoList().at(i).filePath); file.open(QIODevice::WriteOnly); //注意编码问题 QByteArray dt = zipreader.fileInfoList().at(i).filePath.toUtf8(); QString strtemp = QString::fromLocal8Bit(dt); QByteArray array = zipreader.fileData(strtemp); file.write(array); file.close(); } zipreader.close();}MainWindow::~MainWindow(){ delete ui;}void MainWindow::on_zipPathBtn_clicked(){ QString documentPath = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); QString fileName = QFileDialog::getOpenFileName(this, tr("选择zip文件"), documentPath, tr("zip (*.zip *.sanupkg)")); if(fileName.isEmpty()){ return; } ui->zipPathLineEdit->setText(fileName);}void MainWindow::on_savePathBtn_clicked(){ QString documentPath = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); QString folderPath = QFileDialog::getExistingDirectory(this, "选择保存路径", documentPath); if(folderPath.isEmpty()){ return; } ui->savePathLineEdit->setText(folderPath);}void MainWindow::on_zipReaderBtn_clicked(){ QString zipPath = ui->zipPathLineEdit->text(); QString savePath = ui->savePathLineEdit->text(); zipReader(zipPath, savePath);}

用户评论 (0)

发表评论

captcha