qt - QProcess解压中途如何抓到数据?
问题描述
出于某种原因,我不想一次解压缩整个 7z 文件。
我想通过使用 QProcess 调用 7z.exe 来提取 QByteArray 中的单个图像文件。
但是我没有找到抓到7z解压过程的dataStream的方法。
QProcess::read() 方法只能读取不是我想要的命令行文本结果。
目前,我通过将 .7z 文件中的图像文件解压缩到磁盘中来实现该目的,然后使用 QImage::loadFromData() 方法获取图像的 QByteArray。
QByteArray 加载完成后,我从磁盘中删除了该临时图像文件。
显然,这是一项非常繁重的工作。
有时它会降低速度,或者阻塞整个应用程序,甚至当 7z 文件中有大量图像文件时应用程序崩溃。
有没有办法在 QProcess 解压过程中捕获数据?
解决方案
推荐阅读
- abap - ABAP中的复合子程序调用?
- vba - 尝试遍历子文件夹和子文件夹中的文件
- scikit-learn - 在 scikit-learn permutation_test_score 中进行缩放
- symfony - 创建继承表以及如何获取超类?教义交响乐
- java - Spring-Core-WS 与 Spring 4.3.15 不兼容是吗?
- reactjs - 将日期标准化为 DD/MM/YYYY - redux 形式
- sql - SQL 使用中间结果
- c# - 使用 LINQ 优化两个列表中的比较
- vba - Split() 在 VBA 中的新行,特别是 Word 中的宏
- c++ - node.js http 无法通过套接字接收来自 C++ 客户端的请求