Мой код просто рисует набор горизонтальных линий внутри круга в окне. Я написал это так, чтобы между прорисовкой линий была пауза. Для этого я использовал функцию «ПОСЛЕ». Однако он выполняется без каких-либо задержек и показывает только готовый экран (все итерации завершены). Он останавливается, когда превышено максимальное количество итераций. Я не нашел способа остановить код, подсчитав количество циклов и т. д. Я много читал на форумах, но не нашел объяснения, которому я мог бы следовать.
Я, должно быть, что-то упустил. очень просто, поэтому эта просьба о помощи.
Я создал окно, холст и успешно нарисовал на нем все. Я могу вызвать функцию, которая рисует линию, но не могу заставить функцию ПОСЛЕ отложить этот вызов. Если я повторяю вызов, вызывая саму функцию (я так понимаю, это рекомендуемый метод создания анимации), то окно с холстом вообще не открывается до тех пор, пока программа не завершится (из-за превышения количества разрешенных итераций). Если я что-нибудь напечатаю во время выполнения (например, чтобы отследить работу кода), то опять же окно с канвасом не откроется.
Код здесь:
from tkinter import *
# **setup canvas**
window = Tk()
window.title("solid show")
window.resizable(False, False)
window.tk_setPalette(background='#000000')
canvas_width = 600
canvas_height = 600
mycanvas=Canvas(window,width=canvas_width,height=canvas_height)
# **FUNCTION TO DRAW LINES**
def drawlines(movestep):
mycanvas.create_line(150, movestep, 300, movestep,fill="#000000")
mycanvas.pack()
movestep = movestep + 10
#if movestep < 450 : - NOT USED, FAILED ATTEMOT AT TRAPPING AND HALTING EXECUTION
window.after(10000,drawlines(movestep))
movestep = 150 # PARAMETER TO SEPARATE DRAWN LINES
mycanvas.create_oval(45, 45, 555, 555, fill='#cccccc') # CIRCLE TO DRAW LINES IN
mycanvas.pack()
window.after(10000,drawlines(movestep))
window.mainloop()
Подробнее здесь: https://stackoverflow.com/questions/786 ... as-display
Ошибки новичков в анимации Python с отображением AFTER и Canvas ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Discord py не отправляет сообщения при вызове из метода after из voice.play(... after=...)
Anonymous » » в форуме Python - 0 Ответы
- 31 Просмотры
-
Последнее сообщение Anonymous
-