0

BooleanVar() の変更を Tkinter GUI に待機させるにはどうすればよいですか? BooleanVar は、距離センサーによって制御されます。GUI は、変数が False に変化して先に進むまで待機する必要があります。

while True - ループを使用しようとしましたが、予想どおり、メインループが妨げられ、プログラムがクラッシュしました。メソッドがユーザー入力を待機する場合にも使用することを検討しましたが、方法がわかりません。

これを解決する方法はありますか?

ありがとう!

4

1 に答える 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()
于 2013-10-10T10:53:24.497 に答える