使用Tkinter显示图像并随时间循环

时间:2011-10-03 16:49:42

标签: python tkinter python-imaging-library

我目前正在使用PIL和Tkinter来显示图像。我正在从网络中传输图像,并希望在进入时自动更新我的窗口(很像图片幻灯片)。我显示图像的代码有效;但是,我必须单击显示窗口上的[x]按钮才能更新照片。我希望窗口在新照片进入时自动更新,或者至少每隔5秒运行一次循环(因此窗口要么关闭,要么会出现新照片,或者照片只是在窗口中发生变化)。我的代码是:

##I have a database of photos i want to display one by one...

im=image.open(currentphoto)
root=Tk()
canvas=...
photo=imageTk.PhotoImage(im)
item=canvas.create_image(10,10,anchor=NW,image=photo)

root.mainloop()

##want to display next photo either as it comes in or every 5 seconds (whichever is easier -- first method preferred)

此代码有效;

1 个答案:

答案 0 :(得分:1)

调用方法after以安排将来运行的命令。此命令也可以通过调用after来安排自己将来再次运行,这是完全合法的。

有关显示标签每秒更新其文本的示例,请参阅此处的this answer到另一个问题。