Tkinter:如何绑定到 activefill 用于 canvas 上的多边形的状态?

Tkinter: How do I bind to the state that activefill uses for a polygon on a canvas?

我正在使用 canvas 绘制一个多边形来创建自定义按钮。我已经将多边形设置为具有特殊的 activefill 颜色并且确实有效,当鼠标指针位于实际多边形的边界内时(不仅仅是 canvas).

也就是说,虽然我可以绑定到 <Enter><Leave>,但它们适用于整个 canvas,而不仅仅是在多边形内(activefill 颜色切换的地方)。 我绑定什么,以便我可以在相同的状态上触发 activefill,利用 Tk 本身已经对该多边形完成的进出计算?

编辑:一如既往,我在提交这个问题之前做了很多搜索(奇怪的是,今天在 Whosebug 上搜索一直是空的),不清楚是否需要使用 tag_bind而不是绑定来特别完成这个。希望这个问答能帮助其他搜索 "bind"、"activefill" 和 "state"(以及 "create_polygon" 和其他几个术语)的人寻求这种效果。

您将绑定到 <Enter> 并离开事件,但您应该在 canvas 上使用 tag_bind 方法而不是 bind 方法。 tag_bind 允许您对 canvas 上的单个项目或共享相同标签的项目组设置绑定。