使用 tkinter、ttk 和 python3 显示 .gif 图像

Display .gif image using tkinter, ttk and python3

我正在尝试显示图像。

from tkinter import *
from tkinter import ttk

root = Tk()
myimage = PhotoImage(file='world.gif')
ttk.Label(root, image=myimage)
root.mainloop()

当我运行这时,我希望看到我的形象。但我只看到纯灰色图像。 感谢任何帮助。

您需要保留对 Tkinter 对象的引用。像这样的东西(我在这里没有使用 ttk):

myimage = PhotoImage(file='world.gif')

label = Label(image=myimage)
label.image = myimage # the reference
label.pack()

垃圾收集器正在尝试丢弃 Tkinter 图像对象,因为 Tkinter 没有保留对它的引用。所以 Tkinter 发布了图像,Tk widget 没有,你得到了一个奇怪的空白图像。