このようなコードがあります
from Tkinter import *
master = Tk()
def oval_mouse_click(event):
print "in oval"
def canvas_mouse_click(event):
print "in canvas"
w = Canvas(master, width = 800, height = 600)
uid = w.create_oval(390, 290, 410, 310, fill='blue')
w.tag_bind(uid, "<Button-1>", lambda x: oval_mouse_click(x))
w.bind("<Button-1>" , canvas_mouse_click)
w.pack()
mainloop()
キャンバスをクリックすると、コンソールに「キャンバス内」というメッセージが表示されます。楕円をクリックすると、「楕円内」と「キャンバス内」の 2 つのメッセージが表示されますが、最初のメッセージのみが必要です。イベントの発生を停止する方法はありますか?
グローバル フラグを使用してこのタスクを実行できますが、Tkl にはもっと自然な方法があるはずです。