2010-01-09 4 views
2

GUI 클라이언트를 마지막으로 만들었 기 때문에 클라이언트가 프로세스를 생성하고 셸 스크립트를 호출하고 외부 응용 프로그램을 호출 할 때 멈춰 버린 것처럼 보이기 때문에 Python이 정말 울퉁불퉁했습니다.대화 형 Python GUI

이것은 이후로 파이썬에 대한 나의 주요한 문제였습니다. 이제는 새로운 프로젝트에 있습니다. 누군가 다른 사람을 스폰 할 때 내 GUI 파이썬 응용 프로그램을 위해 포인터와 조언을 줄 수 있습니까? 방법?

+0

계산 중에 대화식 GUI를 유지하는 것이 모든 프로그래밍 언어에서 솔루션을 필요로하며 파이썬에만 국한된 것은 아닙니다. 일반적으로 GUI 스레드가 차단되지 않도록 일종의 병렬 프로그래밍을 조사해야합니다. (모든 언어에 대해 True). –

답변

4

가장 간단한 것 (반드시 추상적 인 의미에서 "최상"일 필요는 없음) : 하위 스레드를 별도의 스레드에 생성하고 Queue.Queue 인스턴스를 통해 주 스레드로 결과를 다시 전달 - 주 스레드는 주기적으로 대기열을 확인하여 확인해야 함 결과가 아직 도착했지만주기적인 폴링을 이벤트 루프에 배치하는 것이 어렵지 않은 경우

2

프로세스를 시작하여 완전히 기다리면 기본 GUI 스레드가 멈 춥니 다. 종종 하위 프로세스를 사용하여 간단하게 폴링 한 다음 완료하기 위해 wait 처리를 완료하는 대신 완료 할 수 있습니다. 이렇게하면 GUI가 정지하지 않게됩니다.