Как сделать так,чтобы виджет (Label в tkinter) двигался при нажатие на кнопку (Button)?
Вот например у нас код:
from tkinter import *
def click():
# дальше, я не знаю
k = Label(text="текст", fg="red",bg="black")
b = Button(text="click", command=click, fg = 'red', bg='green')
k.place(x=50, y=50)
b.place(x=100, y = 100)
Как сделать ,чтобы при нажатие на кнопку click виджет виджет "текст" двигался на 10 пикселей(при каждом нажатие)?
Ответы (1 шт):
Автор решения: Spatz
→ Ссылка
Не стоит пытаться динамически изменять расположение виджетов tkinter, ипользуйте для этого Canvas. Вот пример с перемещением текста:
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=500, height=400, bg='white')
canvas.pack()
text = canvas.create_text(250, 50, fill="green", text="VVVVVVVVV")
def move():
canvas.move(text, 0, 10)
canvas.update()
button = tk.Button(text='move', command=move)
button.pack(side='bottom', padx=5, pady=5)
root.mainloop()