QT 带 进度条 解压缩文件方法 - QuaZip

QuaZip

介绍

QuaZip是基于zlib在Qt中封装,很好的支持了文件夹的压缩/解压,比原生Qt自带的qCompress/qUncompress好用太多。

编译库文件

QuaZip官方只提供了源码,要想在自己的工程中使用需要先编译成库文件。

QuaZip依赖zlib库,zlib库在Qt5中已有,直接引用即可,一般位置在:

D:\Qt\Qt5.6.3\5.6.3\msvc2013\include\QtZlib

 官方下载地址: https://sourceforge.net/projects/quazip/?spm=a2c6h.12873639.0.0.10c175795DB2iU

附上 CSDN 的下载地址(不需要下载积分):https://download.csdn.net/download/LearnLHC/12742121

源码下载完,编译成功后,在目标路径会生成对应 lib 和 dll 文件

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Qt的QFile和QProcess类来实现在macOS上解压缩文件的操作。 首先,你需要创建一个QProcess对象,并设置它的工作目录和命令行参数。例如,如果你想要解压缩一个名为“file.zip”的文件到当前目录下,你可以这样写: ```c++ QString program = "unzip"; QStringList arguments; arguments << "-o" << "file.zip"; // -o参数表示覆盖已存在的文件 QProcess *unzipProcess = new QProcess(this); unzipProcess->setWorkingDirectory(QDir::currentPath()); unzipProcess->start(program, arguments); ``` 在这个例子中,我们传递了一个命令行参数“-o”,这个参数表示覆盖已存在的文件。你可以根据你的需要添其他参数。 接下来,你需要连接QProcess对象的readyReadStandardOutput()信号和readyReadStandardError()信号,以便在解压缩过程中实时获取输出和错误信息。 ```c++ connect(unzipProcess, &QProcess::readyReadStandardOutput, [=]() { QString output = unzipProcess->readAllStandardOutput(); // 处理输出信息 }); connect(unzipProcess, &QProcess::readyReadStandardError, [=]() { QString error = unzipProcess->readAllStandardError(); // 处理错误信息 }); ``` 最后,你需要等待QProcess对象的finished()信号,以确保解压缩操作已经完成。你可以检查返回的exit code来确定解压缩是否成功。 ```c++ connect(unzipProcess, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished), [=](int exitCode, QProcess::ExitStatus exitStatus) { if (exitCode == 0 && exitStatus == QProcess::NormalExit) { // 解压缩成功 } else { // 解压缩失败 } }); ``` 以上是在macOS上使用Qt实现解压缩文件的基本流程,你可以根据你的具体需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值