Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我希望我的对象继续移动,但它赢了';行不通_Python_Tkinter - Fatal编程技术网

Python 我希望我的对象继续移动,但它赢了';行不通

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

所以我想让它继续以指定的速度移动,但它只移动一次就停止了。 我以为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, 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()