2016-11-04 7 views
2

PyQt5 프레임 워크를 사용하는 Python 3.4 앱이 있는데 문제가 있습니다.PyQt5에서 QProcess 용 버퍼 플러시

카드를 설치 QProcess :

def listenToServer(self, MainWindow): 
    self.ws = QtCore.QProcess(self) 
    self.ws.start("python3 /home/pi/scara_panel/ws.py") 
    self.ws.readyReadStandardOutput.connect(self.processServer) 

그리고이 함수를 호출 : 바탕 화면에

def processServer(self): 
    income = str(self.ws.readAllStandardOutput()) 
    print(income) 

, 그것은 잘 작동합니다. 그것은 애플 리케이션으로 흘러 들어갑니다. 그러나 프로그램이 Raspberry Pi에서 실행되면 스크립트 ws.py가 끝나면 읽은 내용 만 표시합니다.

저는 이것이 파이썬의 출력 버퍼링과 관련이 있다고 읽었습니다. 나는 -u 플래그를 추가하는 것과 같은 것을 시도했지만 주사위는 사용하지 않았다. readAllStandardOutput() 사용시이 버퍼를 지우는 방법에 대한 제안 사항이 있습니까?

Disable output buffering에서 몇 가지 사항을 구현해 보았지만 아무 것도 문제를 해결하지 못하는 것 같습니다.

도움을 주시면 감사하겠습니다.

답변

0

당신은 더 많은 정보가 How to flush output of Python print?

를 참조하십시오

print(income, flush=True) 

를 통해 즉시 세척하기 위해 출력을 얻을 수 있습니다