Как при наведении на кнопку Tkinter изменить положение?
Есть код:
from tkinter import *
import random as rnd
def on_enter(e):
myButton['bg'] = 'green' #####################
myButton.place['relx'] = rnd.uniform(0, 1) # <- вот тут ошибка #
#####################
def on_leave(e):
myButton['background'] = 'SystemButtonFace'
root=Tk()
root.overrideredirect(1)
root.geometry('200x200')
myButton=Button(root,text='ОТПРАВИТЬ')
myButton.place(relx=.1,rely=.1)
myButton.bind("<Enter>", on_enter)
#myButton.bind("<Leave>", on_leave)
root.mainloop()
Мне нужно, чтобы при наведении на кнопку положение элемента менялось. Я пробовал так:
myButton.place['relx'] = rnd.uniform(0, 1) ,
но выходит ошибка:
TypeError: 'method' object does not support item assignment. Подскажите как быть. Другие варианты решения проблемы принимаются.
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
Для изменения параметров размещения виджета размещенного с помощью place нужно использовать метод place_configure:
def on_enter(e):
myButton['bg'] = 'green'
myButton.place_configure(relx=rnd.uniform(0, 1))