@FlakeSunrise

[Tkinter] Проблемы с увелечением?

Приветствую, столкнулся с проблемой, небходимо сделать код, который будет открывать окно, внутри которого будет круг, но этоот круг каждую секунду должен становиться больше, я не могу сделать цикл с задержкой, пробовал множество вариантов. Надеюсь на вашу помощь. Используя time, threadings код зависает
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=2000, height=2000, borderwidth=0, highlightthickness=0, bg="black")
canvas.grid()

def _create_circle(self, x, y, r, **kwargs):
    return self.create_oval(x-r, y-r, x+r, y+r, **kwargs)
tk.Canvas.create_circle = _create_circle
def _create_circle_arc(self, x, y, r, **kwargs):
    if "start" in kwargs and "end" in kwargs:
        kwargs["extent"] = kwargs["end"] - kwargs["start"]
        del kwargs["end"]
    return self.create_arc(x-r, y-r, x+r, y+r, **kwargs)
tk.Canvas.create_circle_arc = _create_circle_arc
for r in range(20, 200, 1):
  canvas.create_circle(950, 500, r, fill="blue", outline="", width=4)
root.wm_title("Circles and Arcs")
root.mainloop()
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
@MechanicZelenyy
Ваш подход в корне неправильный.

Смотрите, у вас сначала выполняется цикл, а потом вы запускаете приложение.

Вам нужно почитать как собственно работает событийно-ориентированная парадигма.

Здесь есть про то как использовать таймеры: https://www.delftstack.com/ru/howto/python-tkinter...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы