2012-05-11 2 views
0

Here wxPython 및 기타 GUI 툴킷에 대해 이해할 수없는 내용이 있습니다.간단한 방법으로 메인 루프 메시지가 트리거 된 다음 차단됩니까?

'정적 텍스트'컨트롤에서 GetLabel을 호출하면이 이벤트가 메인 루프에 의해 처리 될 때까지 대기열에 포함 된 이벤트가 발생하고 GetLabel이 반환되지 않습니다.

이렇게 간단한 작업을 수행하는 이유는 무엇입니까?

왜 메서드가 즉시 반환되지 않지만 메시지가 처리 될 때까지 차단하지 않습니까?

답변

1

GetLabel이 이벤트를 발생시키지 않는다고 생각합니다. 다른 질문에서 문제는 GUI를 조작하고 스레드를 사용하여 정보를 얻으려는 스레드를 사용하고 있다는 것입니다. 스레드가 GUI의 주 스레드를 차단하고 있습니다. GUI 코드 내에서 GetLabel()을 호출하면 (예 : 버튼의 이벤트 핸들러 내에서) 즉시 실행됩니다.