如何在方法之后使用TKINTER给出车轮旋转的印象?
我正在尝试创建三个单独的“车轮”,以改变第一个弧的起始位置,以给人留下旋转的印象。 TKINTER将在画布上绘制第一个车轮并在1秒钟后删除它,但是随后的车轮永远不会绘制。
from tkinter import Canvas, Tk
tk = Tk()
tk.geometry('500x500')
canvas = Canvas(tk)
canvas.pack(expand=True, fill='both')
in_list = [1,1,1,1,1,1,1]
arc_length = 360 / len(in_list)
first_mvmt = arc_length / 3
second_mvmt = arc_length * 2 / 3
mvmt_list = [0, first_mvmt, second_mvmt]
for mvmt in mvmt_list:
for i in range(len(in_list)):
start = i * arc_length
extent = (i + 1) * arc_length
arc = canvas.create_arc(5, 5, 495, 495, outline='white', start=start + mvmt, extent=extent)
canvas.after(1000)
canvas.delete('all')
tk.mainloop()
还请原谅我的格式不佳,这是我在Stackoverflow上的第一篇文章
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的外循环中只有3个项目,这不会给人留下旋转的印象...
看一个代码:
tk.update()
在内部循环sleep(0.05)
而不是您之后(1000) )应该像这样:

Your outer loop has only 3 items in it, that is not going give the impression of a wheel spinning...
Take a look a the code below:
tk.update()
after inner loopsleep(0.05)
instead of your after(1000)it should look like this:
