tkinter — виджет не обнаруживает вход мыши, когда мышь удерживается нажатой перед входом в виджет

Как я могу вызвать событие, которое срабатывает, когда мышь входит в виджет (например, фрейм), пока мышь удерживается нажатой? Кажется, что рассматриваемое событие срабатывает только тогда, когда мышь поднята.

Я использую этот код (приблизительно) до сих пор:

self._root_window = tkinter.Tk()
self._root_frame = tkinter.Frame()
self._root_frame.pack(fill=tkinter.X, padx=5, pady=5)
frame = tkinter.Frame(master=self._root_frame, ...)

self._root_window.bind('<Button-1>', self._on_button_down)
self._root_window.bind('<ButtonRelease-1>', self._on_button_up)
frame.bind('<Enter>', self._on_mouse_enter)

Я также отслеживаю, находится ли мышь вниз или вверх, используя логическую переменную.

Почему событие <Enter> требует, чтобы мышь была поднята?


person reincarnationofstackexchange    schedule 30.12.2017    source источник
comment
Возможный дубликат как заставить событие tkinter ‹Enter› работать при нажатии ‹button-1›?.   -  person Nae    schedule 30.12.2017
comment
Я посмотрел на это и не нашел четкого решения из ответов, данных там.   -  person reincarnationofstackexchange    schedule 30.12.2017
comment
@Nae Как бы вы использовали find_closest, чтобы обойти это? Я не был бы уверен, когда вызывать find_closest, за исключением случаев, когда я двигаю мышью.   -  person reincarnationofstackexchange    schedule 30.12.2017
comment
Вы не можете. Он определен для холста. Это в значительной степени те же вопросы, но, к сожалению, пока нет простого ответа. Возможно, можно обойти с координатами указателя.   -  person Nae    schedule 30.12.2017
comment
С координатами указателя это становится математической проблемой, чего я надеялся избежать в первую очередь. :(   -  person reincarnationofstackexchange    schedule 30.12.2017