Python 我希望我的对象继续移动,但它赢了';行不通
所以我想让它继续以指定的速度移动,但它只移动一次就停止了。 我以为after函数会有帮助,但它没有。。 我还想知道后括号内的数字是什么Python 我希望我的对象继续移动,但它赢了';行不通,python,tkinter,Python,Tkinter,所以我想让它继续以指定的速度移动,但它只移动一次就停止了。 我以为after函数会有帮助,但它没有。。 我还想知道后括号内的数字是什么 import tkinter as tk root = tk.Tk() canvas = tk.Canvas(root, width=1000, height=1000, background='black') canvas.pack() circle = canvas.create_oval(0, 0, 10, 10
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=1000, height=1000, background='black')
canvas.pack()
circle = canvas.create_oval(0, 0, 10, 10, fill='white')
def move():
canvas.move(circle, 100, 100)
move()
canvas.after(40, move())
root.mainloop()
只需在
after()中传递函数名,如下所示
canvas.after(40, move)
而不是
canvas.after(40, move())
平均40毫秒后,after()
函数将被调用,然后您的对象将被移动。您需要在(…)之后调用
内部move()
:
请参阅如何使用after()
函数。它不起作用。。OHOFJOWJFIOAWODKWADMW我合法地做了互联网让我做的一切,但它不起作用。。也许我的电脑很奇怪???是的,我在我的pycharm程序上测试过,它一点也不动。但是我在一个在线tkinter runner上测试了你的代码,它成功了。我想问题出在我的魅力上
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=1000, height=1000, background='black')
canvas.pack()
circle = canvas.create_oval(0, 0, 10, 10, fill='white')
def move():
canvas.move(circle, 10, 10)
canvas.after(50, move)
move()
root.mainloop()