我试图从我的应用程序中解压缩。我只需要在OS X上工作。
出于某种原因,我无法解压缩我的文件:
QProcess *proc = new QProcess( this );
proc->start("unzip", QStringList("testFile.zip"));
任何想法我做错了什么?
答案 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