我有一些工作正常的代码
while [whatever]:
image = Image.open(..)
photo = ImageTk.PhotoImage(image)
label = Label(image = photo)
label.image = photo
label.pack()
[...]
但是,图像仅在while
循环完成后显示。那是为什么?
我不会介意一切都停止,直到图像显示出来。
答案 0 :(得分:1)
简单:
root.update()
可以解决问题!
答案 1 :(得分:-1)
您正在使用的库的图像加载器可能是异步的,因此在像素数据准备好之前图像不会显示,并且您的while循环已经退出。
如果要在加载图像之前阻止(停止执行),请检查对象的回调或属性,使主线程暂停直到完成为止。例如while !image.ready:
然后在该范围内Sleep()
。
也许这会有所帮助,可能不是因为我对Python的知识有限而且 tkinter 模块的知识要少得多。