Pergunta

Por que o seguinte imprimir uma linha em branco em vez de 'Olá 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()

Eu estou no Windows XP, btw.

Foi útil?

Solução

Porque não há nenhum programa chamado "echo".

Se você quiser executar isto através do shell, então você deveria ter usado "cmd / C echo Olá QProcess".

Seu programa também não tem verificação de erros. Se você tinha verificado para erros corretamente o erro teria sido mais fácil de detectar.

Outras dicas

Você deve fornecer ambiente do sistema para o seu proc.

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

echo é comando excepcional no Windows que não tem executável.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top