tkinter 中的按钮运动动画

Button motion animation in tkinter

我想移动一个按钮动画。例如,它从 x=0 和 y=0 开始,在 0.1 秒后 x=1 和 y=1 ... x=50 和 y=50.

我试过这个:

import tkinter
import time

b=tkinter.Button(text="Example")
for i in range(50): 
    i+=1
    b.place(x=i, y=i)
    time.sleep(0.1)

执行完所有放置命令后window打开。

不要 pause/sleep 你的 python 程序。正如@Mike-SMT 所指出的,它最终可能会冻结您的主循环。如果你想做动画,after 是正确的选择。

import tkinter as tk

root = tk.Tk()
b = tk.Button(root, text="Example")

def move(i):
    if i<=50:
        b.place(x=i, y=i)
        b.after(100, lambda: move(i)) #after every 100ms
        i = i+1

move(0) #Start animation instantly
root.mainloop()