簡體   English   中英

QProcess可以啟動程序,但不能啟動python(命令行)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM