Как сделать так, чтобы объект менял положение если на него навести курсор?
В моем случае кнопка, при наведении у меня происходит однократное перемещение , опосля он при наведении не меняет позицию. Ошибок нет, но я думаю что чего-то не хватает, но не знаю чего...
import tkinter as tk
import random as rand
window = tk.Tk()
window.title('')
window.geometry('300x300')
def on_enter(event):
button.place(x=x, y=y)
x = rand.randint(0, 283)
y = rand.randint(0, 283)
button = tk.Button(window, text='Move')
button.place(x=0, y=0)
button.bind('<Enter>', on_enter)
window.mainloop()
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
Переменные x и y у вас инициализируются один раз при старте программы, поэтому при каждом наведении кнопка остается на одном и том же месте (перемещается на одно и то же место).
Нужно сделать, чтобы при каждом наведении на кнопку получались новые случайные координаты, для этого перенесите инициализацию переменных x и y в обработчик события наведения:
def on_enter(event):
x = rand.randint(0, 283)
y = rand.randint(0, 283)
button.place(x=x, y=y)