我正在使用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
?