Jesse Aldridge
Jesse Aldridge

Reputation: 8149

No output from QProcess

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

Answers (2)

smitrp
smitrp

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

rohanpm
rohanpm

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

Related Questions