[英]QProcess can launch programs but not python (command line)
以下代碼無法啟動python命令行。
QProcess *myProcess = new QProcess(this);
myProcess->start("\"C:\\Program Files\\Python27\\python.exe\"");
如果我將python27替換為(例如)
myProcess->start("\"C:\\Program Files\\Notepad++\\notepad++.exe\"")
記事本打開。 為什么我的程序能夠啟動記事本而不啟動Python命令行?
我嘗試按照此處的建議使用startDetached(),但這沒有什么區別。
QProcess :: Error()給我錯誤5:未知錯誤。
如果只想使用“ Python控制台”,則必須從Windows使用cmd.exe應用程序
您必須在PATH中安裝python,這樣Windows控制台才能知道從何處獲取它。
因此,您可以嘗試:QProcess :: startDetached(“ cmd”,“ python”).. 在此處查看更多特定的語法詳細信息
看來我誤解了啟動命令行時會發生什么。 我期望python命令行或命令提示符窗口打開。
事實證明,如果我只是將命令作為參數start()傳遞,如下所示:
myProcess->start("cmd.exe /C python C:\\Users\\SP4\\Desktop\\helloworld.py");
命令提示符運行我的python腳本,並使用以下命令獲取輸出(“ Hello World”):
QString output = myProcess->readAllStandardOutput();
所有這些都在后台發生,您實際上看不到打開命令行窗口並打印出“ Hello,World”。
如果我誤會了一些東西,請糾正我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.