2017-05-11 10 views
0

pyqt를 사용하여 프로그램을 실행할 때마다 매번 올바르게 출력 할 수 없습니다. 내가 기대하는 것처럼PyQt4 : QProcess readyRead가 항상 올바르게 출력되지 않습니다.

이 경우
from PyQt4 import QtCore, QtGui 
import sys 


class MainWindow(QtGui.QMainWindow): 
    def __init__(self): 
     QtGui.QWidget.__init__(self) 

     program = "ping" 

     self.process = QtCore.QProcess() 
     self.process.readyRead.connect(self.readoutput) 
     self.process.start(program) 

    def readoutput(self): 
     print str(self.process.readAll()) 

def main(): 
    app = QtGui.QApplication(sys.argv) 
    ex = MainWindow() 
    sys.exit(app.exec_()) 

if __name__ == '__main__': 
    main() 

는, 출력, ping 명령의 도우미 : 다음은 예입니다. 나는 다른 값으로 프로그램 변수를 변경하면 항상 작동하지 않지만, 예를 들어 내가 할 경우 : 그것은 콘솔에서 일어나는로

program = "pyinstaller" 

그것이 pyInstaller 중에의 도우미를 인쇄하지 않습니다. 이 경우 출력을 어떻게 받습니까?

+0

는 당신이 시도 할 수 (self.process.start(program) 전에)를 호출하여 두 출력을 반환하게 할 수 있습니까? Qt4는 오래 유지되지 않습니다. –

답변