QProcess:运行时重置工作目录

QProcess : Reset working directory during runtime

本文关键字:工作 运行时 QProcess      更新时间:2023-10-16

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

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

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

。用户想要验证一个文件,该文件与签名一起存储在目录a中。签名人的公钥位于目录B中。用户可以在GUI (works)中输入公钥的路径用户可以在GUI中输入新工作目录的路径(不起作用)

我有一个QPushButton"设置新的工作目录",它发出的信号点击到一个插槽,我调用:

// _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将在此目录下启动进程"

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