我正在使用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
将在此目录中启动该过程”