ZIPQt之QZipReader解压文件 6.19KB

ManagerUser

资源文件列表:

QZipReader.zip 大约有8个文件
  1. QZipReader/QZipReader.pro 1.22KB
  2. QZipReader/QZipReader.pro.user 19.78KB
  3. QZipReader/main.cpp 368B
  4. QZipReader/mainwindow.cpp 2.1KB
  5. QZipReader/mainwindow.h 514B
  6. QZipReader/mainwindow.ui 4.18KB
  7. QZipReader/msvc_make.bat 53B
  8. 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); }
100+评论
captcha
    类型标题大小时间
    ZIP零死角玩转STM3222.86MB2月前
    ZIPwin10升级20H2补丁包windows10.0-kb4562830.zip87.26MB2月前
    ZIP卡皇最新驱动1.3139.98MB2月前
    ZIPC# 记事本570.46KB2月前
    ZIPtomcat 源代码4.33MB2月前
    ZIP精通ASP.NET MVC 3框架1.02MB2月前
    ZIPlibiconv库1.9.2版本( Windows版 ) ( !!!免费!!! )2.28MB2月前
    ZIPjava练习 拼图游戏的源码及素材20.84MB2月前