图像仅在while循环结束时显示

时间:2014-03-27 21:29:36

标签: python tkinter

我有一些工作正常的代码

while [whatever]:
   image = Image.open(..)
   photo = ImageTk.PhotoImage(image)
   label = Label(image = photo)
   label.image = photo
   label.pack()
   [...]

但是,图像仅在while循环完成后显示。那是为什么?

我不会介意一切都停止,直到图像显示出来。

2 个答案:

答案 0 :(得分:1)

简单:

root.update()可以解决问题!

答案 1 :(得分:-1)

您正在使用的库的图像加载器可能是异步的,因此在像素数据准备好之前图像不会显示,并且您的while循环已经退出。

如果要在加载图像之前阻止(停止执行),请检查对象的回调或属性,使主线程暂停直到完成为止。例如while !image.ready:然后在该范围内Sleep()

也许这会有所帮助,可能不是因为我对Python的知识有限而且 tkinter 模块的知识要少得多。