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

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

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

例如。用户想要验证与签名一起存储在目录A中的文件。来自签名者的公钥位于目录B中。
用户可以在GUI中输入公共(public)密钥的路径(有效)
用户可以在GUI中输入新工作目录的路径(不起作用)

我有一个QPushButton“设置新的工作目录”,它发出单击到我称为的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将在此目录中启动该过程”

最佳答案

根据平台的不同,您可以使用 chdir SetCurrentDirectory 。还是为什么不 QProcess::setWorkingDirectory

10-07 19:52
查看更多