首页 文章

GUI等待BooleanVar()更改

提问于
浏览
0

如何让我的Tkinter GUI等待更改BooleanVar()? BooleanVar由距离传感器控制 . GUI应该等到变量变为False并继续前进 .

我试图使用一段时间的True循环,但正如预期的那样,它扰乱了主循环并且程序崩溃了 . 我也考虑过使用一个方法等待用户输入,但我无法弄清楚如何 .

有什么方法可以解决这个问题吗?

谢谢!

1 回答

  • 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()
    

相关问题