2013-10-10 3 views
0

Tkinter GUI가 BooleanVar()의 변경을 기다리는 것을 어떻게 할 수 있습니까? BooleanVar는 거리 센서로 제어됩니다. GUI는 변수가 False로 변경 될 때까지 대기해야합니다.BooleanVar()가 변경 될 때까지 GUI 대기

나는 True-loop를 사용하려고했지만 예상대로 mainloop을 방해하고 프로그램이 손상되었습니다. 또한 사용자 입력을 기다리는 방법이 있다면 하나를 사용하려고 생각했지만 어떻게 설명 할 수는 없습니다.

이 문제를 해결할 방법이 있습니까?

감사합니다.

답변

1

GUI가 항상 "대기"의 상수 상태이기 때문에 여기에서 "대기"한다는 의미를 이해하지 못합니다. 이벤트를 대기 한 다음 이벤트를 처리합니다.

어떻게 든 설정 한 BooleanVar이있는 경우 해당 변수에 대한 추적을 설정할 수 있습니다. 값이 변경되면 추적에서 원하는 콜백을 호출합니다. 그 콜백에서 코드는 원하는대로 할 수 있습니다.

self.sensor = tk.BooleanVar() 
self.sensor.trace("w", self.on_sensor_change) 
... 
def on_sensor_change(self, *args): 
    print "the sensor changed:", self.sensor.get() 
+0

감사합니다. – user2304540

관련 문제