我无法尝试更新tkinter标签图像

时间:2017-05-01 10:49:01

标签: python-3.x tkinter

我正在尝试制作一个基本的4帧动画,我不能使用tkinter画布,因为我希望它使用我绘制的艺术(文件)。文件类型没有任何问题,因为我已经自己测试了它。然而,代码似乎只是删除窗口6秒,然后显示最后一帧。

import time
import tkinter

window=tkinter.Tk()

frame1=tkinter.PhotoImage(file="file1.ppm")
frame2=tkinter.PhotoImage(file="file2.ppm")
frame3=tkinter.PhotoImage(file="file3.ppm")
frame4=tkinter.PhotoImage(file="file4.ppm")

image=tkinter.Label(window,image=frame1)
image.pack()

time.sleep(2)
image.configure(image=frame2)
time.sleep(2)
image.configure(image=frame3)
time.sleep(2)
image.configure(image=frame4)

我不确定是“time.sleep”还是“image.configure”才是问题,但我试图弄乱不同类型的计时方法,这些方法似乎也失败了。

1 个答案:

答案 0 :(得分:1)

import tkinter

window=tkinter.Tk()

frame1=tkinter.PhotoImage(file="file1.ppm")
frame2=tkinter.PhotoImage(file="file2.ppm")
frame3=tkinter.PhotoImage(file="file3.ppm")
frame4=tkinter.PhotoImage(file="file4.ppm")

image=tkinter.Label(window,image=frame1)
image.pack()

def loop(n):
    frame = [frame1, frame2, frame3, frame4][n]
    window.after(2000, lambda : image.configure(image=frame))
    window.after(2000, lambda : loop((n+1)%4))

loop(1)