2013-10-10 50 views
0

如何讓我的Tkinter GUI等待布爾變量()的更改?布爾變量由距離傳感器控制。 GUI應該等到變量變爲False並繼續。GUI等到布爾變量()更改

我試圖使用一段時間True - 循環,但正如預期的那樣,它擾亂了主循環和程序崩潰。 我也考慮過使用一個,如果方法等待用戶輸入,但我不知道如何。

有什麼辦法解決這個問題嗎?

謝謝!

回答

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