1

我正在尝试使用untar该文件QProcess返回的目录中的文件QDir::tempPath(),如下所示:

extract.start("tar", QStringList() << "-xvzf" + QDir::tempPath() + "/thefile.tar.gz");

我通过查看 for 得到正确的提取输出,standardOuputQProcess最后没有提取文件。从 shell手动运行tar文件可以正常工作,所以我知道它没有损坏,我假设存在权限问题,但我实际上正在将应用程序的文件下载到临时目录,因此应用程序应该具有写访问权限。

编辑:我现在也尝试使用主目录中的文件,它肯定存在,但我得到的结果与它在临时目录中的结果相同,详细输出指示成功但没有结果文件。

4

1 回答 1

1

您需要设置工作目录,默认情况下,它可能是可执行文件的二进制文件夹。

您可以使用QProcess::setWorkingDirectory设置工作目录

于 2013-11-29T17:29:40.213 回答