Python 如何在tkinter中减慢绘制线的速度以设置绘图动画?

Python 如何在tkinter中减慢绘制线的速度以设置绘图动画?,python,tkinter,time,Python,Tkinter,Time,我在tkinter与lines合作,以期制作一个“随机游走”程序。我可以在画布上画线,但我想在画的每一条新线之间增加一点延迟。结果将是看到更多的动画,而不仅仅是一个图像出现 一个比整个步行更简单的小例子: import tkinter as tk root = tk.Tk() root.title('Random Walk') WIDTH = 800 HEIGHT = 800 w = tk.Canvas(root, width=WIDTH, height=HEIGHT) w.pack() i =

我在tkinter与lines合作,以期制作一个“随机游走”程序。我可以在画布上画线,但我想在画的每一条新线之间增加一点延迟。结果将是看到更多的动画,而不仅仅是一个图像出现

一个比整个步行更简单的小例子:

import tkinter as tk
root = tk.Tk()
root.title('Random Walk')
WIDTH = 800
HEIGHT = 800
w = tk.Canvas(root, width=WIDTH, height=HEIGHT)
w.pack()
i = 0
x = 0
y = 0
while i < 10:
    w.create_line(x, y+5, x+10, y+5, fill="red")
    w.create_line(x+10, y + 5, x + 10, y + 15, fill="green")
    x = x+10
    y = y+10
    i=i+1
root.mainloop()
将tkinter作为tk导入
root=tk.tk()
root.title('Random Walk')
宽度=800
高度=800
w=tk.Canvas(根,宽度=宽度,高度=高度)
w、 包()
i=0
x=0
y=0
当我<10时:
w、 创建_线(x,y+5,x+10,y+5,fill=“红色”)
w、 创建_线(x+10,y+5,x+10,y+15,fill=“绿色”)
x=x+10
y=y+10
i=i+1
root.mainloop()
此代码生成以下内容:

为了降低重画的速度,我尝试使用python时间模块和time.sleep()函数。但我不能让它工作。我想在每一行的绘制之间加上0.5秒的延迟。。。
任何帮助都将不胜感激。

这能解决您的问题吗

将tkinter作为tk导入
root=tk.tk()
根标题(“随机游走”)
宽度=800
高度=800
w=tk.Canvas(根,宽度=宽度,高度=高度)
w、 包()
i=0
x=0
y=0
def create_line():
全局i,x,y
如果i<10:
w、 创建_线(x,y+5,x+10,y+5,fill=“红色”)
w、 创建_线(x+10,y+5,x+10,y+15,fill=“绿色”)
x+=10
y+=10
i+=1
root.after(500,创建_行)
root.after(500,创建_行)
root.mainloop()

在这种情况下,
else:pass
无效。另外,通常在使用
root.after
而不是字符串时,要传入整数。