Стандартный способ завершить ontimer()
в Python Turtle Graphics - просто не повторять его вызова, исходя из каких-то условий.
В моем случае, однако, мне нужно активно убить таймер.
Соответствующая часть кода из модуля turtle
:
def _ontimer(self, fun, t):
"""Install a timer, which calls fun after t milliseconds.
"""
if t == 0:
self.cv.after_idle(fun)
else:
self.cv.after(t, fun)
Этот ответ объясняет, как уничтожить таймер с использованием чистого python tkinter
. Я нашел after
метод в turtle._Root
, но я не могу понять, как получить к нему доступ id
или точно определить, как бы я его использовал, если бы он у меня был.
Любой очень помогли.
Вот пример программы, к которой я хотел бы применить решение:
import turtle
turtle.shape("turtle")
def move():
turtle.fd(20)
turtle.ontimer(move, 500)
move()
turtle.done()