2017-05-11 28 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は今や長く維持されていません。 –

答えて

関連する問題