私は _their_grid と呼ばれる Canvas を持っています。これには、マウス クリックに関連付けられた多くのイベントが関連付けられています。特定の条件で10秒間無効にしています。以下は関連するコードです。
print "not your turn"
# disable opponent's grid during their turn
self._their_grid.config(state=DISABLED)
time.sleep(10)
self._their_grid.config(state=NORMAL)
print "now you can go"
ただし、10 秒間のスリープ中に、イベントをトリガーすることができます。state=DISABLED はすべてのイベントを遮断する必要があるため、これは当てはまりません。以下のコードは、sleep をコメントアウトして、すべてのイベントを停止します。
print "not your turn"
# disable opponent's grid during their turn
self._their_grid.config(state=DISABLED)
#time.sleep(10)
#self._their_grid.config(state=NORMAL)
#print "now you can go"
time.sleep でこの奇妙な動作が発生するのはなぜですか?