tkinter 框架未检测到 <Motion> 事件

tkinter Frame does not detect <Motion> event

为什么 python 中的 tkinter.Frame 不适用于 someframe.bind("<Motion>", somefunc)?在这种情况下 somefunc 不会被执行。有人可以给我解释一下吗?

代码: self.frame.bind("<Motion>", tippy.update)

如果我将它绑定到例如 tkinter.Label,一切都会按预期进行。代码已执行。

编辑:我认为如果我在 tkinter.Frame 中有 tkinter.Label 并且如果我将鼠标悬停在 tkinter.Label 上,它将被执行,因为它在 tkinter.Frame ].但是 tkinter.Frame 只有在该位置没有其他小部件时才会检测到移动。基本上我认为 tkinter.Frame space 不会被 tkinter.Label.

覆盖

下面的代码演示了 <Motion> 事件确实与 tkinter 中的 Frame 小部件一起工作:

from tkinter import *

root = Tk()

def callback(*args):
    print("Motion detected")

frame = Frame(root, width=100, height=100)

frame.bind("<Motion>", callback)

frame.pack()

root.mainloop()

如果您可以提供 MCVE 我们可以尝试帮助您解决您遇到的任何问题。