Кадр tkinter не обнаруживает событие <Motion>

Зачем tkinter.Frame в питоне не работает с someframe.bind("<Motion>", somefunc)? В этом случае somefunc не исполняется. Может кто-нибудь, пожалуйста, объясните мне это?

код:self.frame.bind("<Motion>", tippy.update)

Если я связываю это, например, tkinter.Labelвсе работает как положено. Код выполнен.

РЕДАКТИРОВАТЬ: Я думал, что если у меня есть tkinter.Label в tkinter.Frame и если я наведу указатель мыши на tkinter.Label, он будет выполнен, потому что его в tkinter.Frame, тем не мение tkinter.Frame обнаруживает движение, только если на месте нет другого виджета. В основном я думал, что tkinter.Frame пространство не перезаписано tkinter.Label,

1 ответ

Приведенный ниже код демонстрирует, что <Motion> событие работает с 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, мы постараемся помочь вам решить любую проблему, с которой вы столкнулись.

Другие вопросы по тегам