Чувствительность объекта Tkinter к указателю мыши - PullRequest
0 голосов
/ 22 апреля 2019

Я делаю программу на python, используя tkinter, но у меня проблема. Мне нужно добавить код, который делает смысл моего объекта tkinter, когда указатель мыши касается его.

У кого-нибудь есть рекомендации, что мне делать? До сих пор я думал, что мог бы написать код, который будет работать так: если координаты указателя мыши совпадают с координатами объекта, объект будет реагировать на это вместо этого.

1 Ответ

0 голосов
/ 23 апреля 2019

Вы можете привязаться к событиям <Enter> и <Leave>. Они будут срабатывать всякий раз, когда указатель мыши входит и покидает виджет.

Вот небольшая демонстрация:

import tkinter as tk

def on_mouse_enter(event):
    print("enter...", event.widget)

def on_mouse_leave(event):
    print("leave...", event.widget)

root = tk.Tk()
for i in range(10):
    label = tk.Label(root, text="Item #{}".format(i), name='label-{}'.format(i))
    label.pack()
    label.bind("<Enter>", on_mouse_enter)
    label.bind("<Leave>", on_mouse_leave)

tk.mainloop()
...