Skip to main content
 首页 » 编程设计

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

2025年05月04日7开发

我目前正在使用 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) 

此代码有效;

请您参考如下方法:

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

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