我正在尝试untar
QProcess
的{{1}}文件,该文件位于QDir::tempPath()
返回的目录中,如下所示:
extract.start("tar", QStringList() << "-xvzf" + QDir::tempPath() + "/thefile.tar.gz");
通过查看standardOuput
的{{1}},我得到了正确的提取输出,但最后没有提取文件。从shell手动运行QProcess
在文件上工作正常,所以我知道它没有损坏,我已经承担了权限问题,但我实际上是将应用程序的文件下载到临时目录,所以应用程序应该有写访问。
编辑:我现在也尝试使用主目录中的文件,它肯定存在,但我得到的结果与它在临时目录中相同,详细输出表示成功但没有生成文件。
答案 0 :(得分:1)
您需要设置工作目录,默认情况下,该目录可能是可执行文件二进制文件的文件夹。
您可以使用 QProcess :: setWorkingDirectory
设置工作目录