2017-05-20 10 views
1

저는 PyQt5를 처음 사용 했으므로 다음을 수행하는 데 도움이되는 지침을 알려 주시면 감사하겠습니다.가져온 패키지 (PyQt5)에서 인쇄 된 stdout을 기반으로 PyQt 진행률 막대를 업데이트하십시오.

다양한 느린 처리 ​​도구를 실행하는 Python 패키지에서 작동하도록 GUI를 구축하고 있습니다. 현재 인터페이스는 순수 텍스트입니다. 패키지는 루프에서 일부 코드를 실행하고 현재 진행률 완료를 터미널에 인쇄합니다.

내 목표는 진도를 진행률로 표시하는 PyQt GUI를 만드는 것입니다. 이 호출을 원래 처리 코드에 추가 할 수 있다면 간단히 QProgressBar.setValue()를 사용하여 수행 할 수 있지만 이는 불가능합니다. 대신, 내 GUI는 처리 코드의 현재 텍스트 출력 인터페이스 위에 구축되어야합니다.

어떻게 든 스레드를 사용하여 가능해야한다고 생각하지만 성능을 저해하지 않고 stdout에 대한 호출을 가로채는 방법을 모르거나 thread-unsafe 연산을 도입합니다.

이것이 가능합니까? 어떤 제안이라도 대단히 감사 할 것입니다.

답변

1

이것에 대한 몇 가지 StackOverflow 설명서를 작성했습니다. 시간이 지나면 곧 더 많은 고급 예제를 작성하겠습니다.

Introduction to Progress Bars

희망이 도움이 :)