QProcess:在运行时重置工作目录

时间:2015-10-19 12:33:41

标签: c++ qt directory reset qprocess

我正在使用Qt的QProcess类在Qt-GUI应用程序和用C编写的程序之间进行通信。当我启动GUI时,我设置了QProcess的工作目录。

现在我想知道是否可以在运行时重置QProcess的所选工作目录。我没有在QT文档中找到任何功能。

用户应该在GUI中输入一些文件路径,将它们传递给C程序(加密程序)。除了在GUI中输入的文件路径外,C程序还会从当前工作目录中自行加载一些文件。

E.g。用户想要验证与目录A中的签名一起存储的文件。来自签名者的公钥在目录B中。 用户可以在GUI中输入公钥的路径(工作) 用户可以在GUI中输入新工作目录的路径(不起作用

我有一个QPushButton“设置新工作目录”,它发出SIGNAL点击到我打电话的SLOT:

// _dataWDict->text() gets the Text Input from a QLineEdit Widget
// from the _userWidget (= "GUI")

QString pathWDict = _userWidget->_dataWDict->text();
_process->setWorkingDirectory(pathWDict);

// displays me the output in the GUI
_userWidget->_log->append(_process->workingDirectory());

调用QProcess::setWorkingDirectory声称不同但我仍然只能从一开始就访问工作目录中的文件。从Qt-Docs:“QProcess将在此目录中启动该过程”

1 个答案:

答案 0 :(得分:1)

根据平台的不同,您可以使用chdirSetCurrentDirectory。或者为什么不QProcess::setWorkingDirectory