Reputation: 8149
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.
Upvotes: 0
Views: 1596
Reputation: 1312
You should provide system environment to your proc.
proc.setEnvironment(QProcess::systemEnvironment());
echo is exceptional command in Windows that does not have executable.
Upvotes: 0
Reputation: 4272
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.
Upvotes: 2