我正在使用Qt中的QProcess
類在Qt-GUI應用程序和用C語言編寫的程序之間進行通信。當我啓動GUI時,我設置QProcess
的工作目錄。QProcess:在運行時重置工作目錄
現在我想知道是否有可能在運行時期間重置QProcess
所選的工作目錄。我沒有在QT文檔中找到任何功能。
用戶應該在GUI中輸入一些文件路徑,然後將它們傳遞給C程序(加密程序)。除了在GUI中輸入的文件路徑之外,C程序自己從當前工作目錄加載一些文件。
E.g.用戶想要驗證與簽名一起存儲在目錄A中的文件。來自簽名者的公鑰是目錄B中的。 用戶可以在GUI中輸入公鑰的路徑(工作) 用戶可以輸入路徑到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文檔:「QProcess
將啓動此目錄中的過程」
你能解釋你想解決什麼問題嗎?我不是說你需要幫助的解決方案(改變目錄),而是讓你想要「重置」工作目錄的原始問題?相關閱讀:[什麼是XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 –
'在運行時重置QProcess的選定工作目錄.'您可以從QProcess中運行的可執行文件中執行此操作,但我不相信可以從啓動QProcess的可執行文件中執行此操作,但是您可以使用某種形式的IPC來發出信號在QProcess中運行的程序來更改其文件夾。 – drescherjm