1
我正在尝试创建一个变得越来越大的圆圈,并且为此我需要添加一个延迟。我尝试使用time.sleep()
,但发现不起作用,我需要使用.after()
。我已经尝试过让这个圈子成为一个功能,但没有成功。我曾尝试在创建椭圆之前添加一个lambda,但那也不起作用。无论如何,我可以在新圈子制造之前添加延迟吗? 谢谢。python 3 tkinter:如何将.after()添加到图形
我的代码: -
from tkinter import *
root = Tk()
c = Canvas(root, width = 500, height = 500)
c.pack()
oval = c.create_oval(0, 0, 1, 1)
for x in range(2, 200, 5):
c.delete(oval)
root.after(100, oval = c.create_oval(0, 0, x, x))
嗨,感谢您的帮助,它解决了我的问题。 root.mainloop()又做了什么? – Regi
因为tkinter是一个图形用户界面,所以说一个主要的计算程序是不同的。在一个主要的计算程序中,相互依次执行步骤以达成结果。 Tkinter是一个界面,所以必须始终准备好,等待一个不变的循环(root.mainloop),用于任何用户鼠标点击或按键等。 另外,由于我的解决方案解决了您的问题,请将其标记为例外答案。 –