No output from QProcess
Question
Why does the following print a blank line instead of '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()
I'm on Windows XP, btw.
Solution
Because there's no program called "echo".
If you wanted to run this through the shell then you should have used "cmd /C echo Hello QProcess".
Your program also has no error checking. If you'd checked for errors properly the mistake would have been easier to spot.
OTHER TIPS
You should provide system environment to your proc.
proc.setEnvironment(QProcess::systemEnvironment());
echo is exceptional command in Windows that does not have executable.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow