qprocess

    5熱度

    2回答

    Qt文檔給出了這樣的解釋: QProcess::start: 開始在新的進程中給定的程序,如果沒有已經在運行, 通過命令行參數的參數。 QProcess::startDetached: 開始與參數參數的程序的程序在新 過程,並從中分離。 兩者有什麼區別?只有你可以使用QProcess::start和許多使用QProcess::startDetached的實例啓動程序的一個實例嗎?

    2熱度

    1回答

    我有一個對話框,用作控制檯應用程序的配置程序。對話框的工作是爲用戶提供一組小部件(鏡像控制檯應用程序支持的選項),當用戶單擊「開始」按鈕時,該對話框將創建並啓動一個QProcess,控制檯應用程序的名稱和參數基於GUI中小部件的狀態。我能夠成功開始這個過程,一切正常。但是,當我想殺死進程時,控制檯應用程序需要正常關閉,這意味着它必須關閉文件,刷新數據,關閉設備等,然後終止。 我使用QProcess

    0熱度

    2回答

    我想從具有特定PATH集的Qt應用程序啓動cmd.exe。我在QProcessEnvironment中插入「路徑」並將該環境設置爲QProcess。然後我開始讀取「cmd」。在命令提示符處,路徑與調用應用程序的路徑相同,而不是我剛剛設置的路徑。我錯過了什麼?我在Windows上使用Qt 5.2.0與MinGW和Qt的創造者3.0.0 8.1.s QProcess process(this); Q

    1熱度

    1回答

    我試圖通過QProcess運行一個命令,但它不工作。我的命令類似於utility -someflag /path/to/file。 utility在PATH中,但看起來QProcess沒有使用這個環境變量。 該命令只是失敗,我需要指定該實用程序的完整路徑(我想避免)。 有沒有辦法解決這個問題?基本上有些方法可以使QProcess使用PATH變量?

    2熱度

    1回答

    我正在開發一個帶有Qt 5.0.2的Windows窗體應用程序。我需要在我的應用程序中調用另一個程序。我想通過命令行或文件傳遞參數,並通過另一個文件讀取期望結果,但由於某些原因,我需要在程序完成其工作並且期望文件準備好被讀取時。 我的過程定義如下: QProcess *p; p = new QProcess(this); QStringList args; args << "babak" <

    0熱度

    1回答

    我試圖通過cmd.exe中的批處理文件在我的Qt應用程序中打開服務器。儘管我使用QProcess :: startDetached()來啓動命令行,但它在啓動後立即關閉。服務器正在啓動,但不是「提供服務」,該進程被終止。這裏是我的代碼: void DICOMReceiver::startReceiver() { QProcess receiver; boost::filesy

    1熱度

    2回答

    我有一個QProcess,我想在標籤中輸出響應。首先,這裏是我曾嘗試: QProcess *proc = new QProcess(); proc->setProcessChannelMode(QProcess::MergedChannels); proc->start(cmdLineRequest.toUtf8().constData()); // cmdLineRequest is omi

    1熱度

    1回答

    假設我使用QProcess運行控制檯應用程序。該應用程序運行,顯示一些信息,然後等待n秒並顯示其他信息。 我當前的代碼是: QProcess * p = new QProcess(); p->start("test.bat"); p->waitForStarted(); p->waitForFinished(); p->readAll(); delete p; 目前我會在結束所有的輸

    2熱度

    1回答

    你好親愛的計算器用戶, 我有一個問題,試圖在Windows上使用QProcess運行命令。除了解釋一個參數以外,一切正常。 我打電話給vcbuild.exe來構建一個visual studio 2008解決方案。調用看起來是這樣的: QString program = "cmd.exe"; QStringList arguments; arguments << getenv(V

    0熱度

    1回答

    怎麼可能先從QProcess中外部子進程在Qt應用程序,並與主要程序的執行下去,而無需等待子進程完成,但同時,他完成後從孩子進程中獲得回叫? 第一種方案: QProcess* child = new QProcess(); connect(child, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(isFinished(int,