QT在OS X上使用解压缩

时间:2014-04-24 12:34:02

标签: macos qt

我试图从我的应用程序中解压缩。我只需要在OS X上工作。

出于某种原因,我无法解压缩我的文件:

QProcess *proc = new QProcess( this );
proc->start("unzip", QStringList("testFile.zip"));

任何想法我做错了什么?

2 个答案:

答案 0 :(得分:1)

您可以尝试两件事。 1.而不是"解压缩",使用" / usr / bin / unzip",即提供程序的完整路径。 2.使用一个大字符串,而不是字符串列表。像这样:

 proc->start("/usr/bin/unzip testFile.zip");

答案 1 :(得分:0)

如果有人仍然对我的解决方案感兴趣:

QString path = "/tmp/testFile.zip";
QProcess unzip;
unzip.setWorkingDirectory("/tmp/"); // set working directory - for extraction
unzip.start("unzip", QStringList() << "-o" << path); // overwrite files
if (!unzip.waitForFinished()) return; // wait for finished here

QByteArray result = unzip.readAll(); // read the result
unzip.close(); // close the process
qDebug() << result; // debug the result