Почему функция time.sleep() не работает в моем Python коде?

Как можно реализовать анимацию движения шарика в графическом интерфейсе с использованием модуля tkinter в Python?
  • 3 марта 2024 г. 13:48
Ответы на вопрос 2
time.sleep() может не работать из-за того, что он блокирует основной поток выполнения программы, что может привести к зависанию интерфейса или другим проблемам. Вместо этого, рекомендуется использовать метод after() в tkinter для установки задержки перед обновлением анимации.

Для реализации анимации движения шарика в графическом интерфейсе с использованием модуля tkinter в Python, следует создать окно tkinter и отрисовать на нем шарик с помощью метода create_oval() из класса Canvas. Затем можно использовать методы move() и after() для анимации движения шарика по определенной траектории. Ниже приведен пример кода:

```python
import tkinter as tk

root = tk.Tk()
canvas = tk.Canvas(root, width=400, height=400)
canvas.pack()

ball = canvas.create_oval(10, 10, 30, 30, fill='red')

def move_ball(dx, dy):
    canvas.move(ball, dx, dy)
    root.after(50, move_ball, dx, dy)  # set move_ball to be called after 50 ms

move_ball(1, 1)

root.mainloop()
```

Этот код будет создавать красный шарик, который будет двигаться вправо и вниз на холсте каждые 50 миллисекунд. Можно изменить скорость и траекторию движения, подставив другие значения в move_ball().
Ну так вы модуль-то импортируйте 
import time
Похожие вопросы