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.

Was it helpful?

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
scroll top