要与包含在
Canvas对象中的对象进行交互,您需要使用
tag_bind()以下格式的对象:
tag_bind(item, event=None,callback=None, add=None)
item参数可以是标签或ID。
这是说明此概念的示例:
from tkinter import *def onObjectClick(event):print('Got object click', event.x, event.y) print(event.widget.find_closest(event.x, event.y))root = Tk()canv = Canvas(root, width=100, height=100)obj1Id = canv.create_line(0, 30, 100, 30, width=5, tags="obj1Tag")obj2Id = canv.create_text(50, 70, text='Click', tags='obj2Tag')canv.tag_bind(obj1Id, '<ButtonPress-1>', onObjectClick) canv.tag_bind('obj2Tag', '<ButtonPress-1>', onObjectClick) print('obj1Id: ', obj1Id)print('obj2Id: ', obj2Id)canv.pack()root.mainloop()


