#python #tkinter #mouse
#python #tkinter #мышь
Вопрос:
Я создаю программу на python с использованием tkinter, но у меня проблема. Мне нужно добавить код, который заставляет мой объект tkinter воспринимать, когда указатель мыши касается его.
Есть ли у кого-нибудь рекомендации относительно того, что я должен делать? До сих пор я думал, что мог бы написать код, который выполняется следующим образом: если координаты указателя мыши совпадают с координатами объекта, объект будет реагировать на это вместо этого.
Комментарии:
1. Что вы хотите, чтобы он делал, когда он зависает над ним?
2. Вы можете сделать это, привязав функции обработчика событий к событиям
'<Enter>'
и'<Leave>'
мыши. Вот несколько примеров кода . Это иногда называют «наведением» или «зависанием».
Ответ №1:
Вы можете привязываться к событиям <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()