Tk/Tkinter Canvas “<ItemDelete>”事件?

Tk/Tkinter Canvas "<ItemDelete>" event?

删除 Canvas 上的项目时是否会触发事件?怕看了the Canvas man page没有这回事,想确认一下。

(我正在寻找这样的东西的原因是我有一个 <Enter>/<Leave> 绑定对,如果在鼠标悬停在项目。理想情况下,我会在这种情况下触发<Leave>,但这似乎并没有发生。)


FWIW:Tcl 8.5Tk 8.5Python 2.7.9Windows 7

不,没有。由于您正在编写删除对象的代码,因此您始终可以生成自己的虚拟事件。

def delete_something():
    ...
    canvas.event_generate("<<ItemDeleted>>")

您必须设法跟踪删除了哪些项目。

综上所述,您可以检查 <Leave> 绑定中的项目是否存在,或者只是捕获并忽略错误。