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()
一些代碼,當我在控制檯上單擊畫布我有「帆布」的消息。 當我點擊]橢圓形我有兩條消息「橢圓形」和「畫布」,但我想只有第一條消息。有什麼辦法可以阻止事件發生?
我可以用一些全球性的標誌來完成這項任務,但我認爲Tkl應該有更自然的方式。
您發現最簡單的方法了''return'break''不適用於畫布標籤綁定。 – mmgp
相關:[Python tkinter:在文本小部件標籤中停止事件傳播](http://stackoverflow.com/questions/13066773/python-tkinter-stopping-event-propagation-in-text-widgets-tags/13076458) – phoibos