【问题标题】:Tk/Tkinter Canvas "<ItemDelete>" event?Tk/Tkinter 画布“<ItemDelete>”事件?
【发布时间】:2015-05-08 21:41:31
【问题描述】:

删除 Canvas 上的项目时是否会触发事件?我害怕看the Canvas man page 没有这种东西,但想确认一下。

(我正在寻找这样的东西的原因是我有一个 &lt;Enter&gt;/&lt;Leave&gt; 绑定对,如果在鼠标悬停在项目上时删除项目,则该绑定对会不同步。理想情况下,我d 只是在这种情况下触发 get&lt;Leave&gt;,但这似乎没有发生。)


FWIW:Tcl 8.5Tk 8.5Python 2.7.9Windows 7

【问题讨论】:

    标签: python canvas tkinter tcl tk


    【解决方案1】:

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

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

    您必须管理跟踪哪个项目被删除。

    话虽如此,您可以检查 &lt;Leave&gt; 绑定中是否存在该项目,或者只是捕获并忽略错误。

    【讨论】:

    • 谢谢。执行删除的代码超出了我的控制范围,但我想我将继承 Canvas 并覆盖 delete 方法以按照您的建议生成虚拟事件。将返回结果
    猜你喜欢
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    相关资源
    最近更新 更多