QProcess可以启动程序,但不能启动python(命令行)



以下代码无法启动 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控制台",你必须使用cmd.exe Windows中的应用程序你必须
在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"。

如果我误解了什么,请纠正我。

最新更新