0

为什么以下打印一个空行而不是“Hello QProcess”?

import sys

from PyQt4 import QtGui, QtCore

proc = QtCore.QProcess()
proc.start("echo 'Hello QProcess'")
proc.waitForFinished()
result = proc.readAll()
print result
proc.close()

我在 Windows XP 上,顺便说一句。

4

2 回答 2

2

因为没有名为“echo”的程序。

如果你想通过 shell 运行它,那么你应该使用“cmd /C echo Hello QProcess”。

您的程序也没有错误检查。如果你正确地检查了错误,错误会更容易被发现。

于 2009-12-05T13:31:52.987 回答
0

您应该为您的 proc 提供系统环境。

proc.setEnvironment(QProcess::systemEnvironment());

echo 是 Windows 中没有可执行文件的特殊命令。

于 2011-06-06T21:47:55.507 回答