以下代码无法启动python命令行。
QProcess *myProcess = new QProcess(this);
myProcess->start("\"C:\\Program Files\\Python27\\python.exe\"");
如果我用(例如)
替换python27myProcess->start("\"C:\\Program Files\\Notepad++\\notepad++.exe\"")
记事本打开。为什么我的程序能够启动记事本但不能启动Python命令行?
我尝试使用建议here的startDetached(),但这没有什么区别。
QProcess :: Error()给出了错误5:未知错误。
答案 0 :(得分:0)
如果您只是想使用' python控制台'你必须使用Windows的cmd.exe应用程序 您必须在PATH中使用python,以便Windows控制台知道从哪里获取它 所以,您可以尝试:QProcess :: startDetached(" cmd"," python")..查看更具体的语法详细信息here
答案 1 :(得分:0)
我似乎误解了启动命令行时会发生什么。我期待python命令行或命令提示符窗口打开。
事实证明,如果我只是将我的命令作为参数传递start(),就像这样:
myProcess->start("cmd.exe /C python C:\\Users\\SP4\\Desktop\\helloworld.py");
命令提示符运行我的python脚本,我得到输出(" Hello World")使用:
QString output = myProcess->readAllStandardOutput();
所有这些都发生在后台,您实际上无法打开命令行窗口并打印出来#34; Hello,World"。
如果我误解了某些内容,请纠正我。