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

时间:2015-12-11 22:45:05

标签: image python-3.x tkinter ttk

我正在尝试显示图片。

from tkinter import *
from tkinter import ttk

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

当我跑步时,我希望看到我的形象。但我只看到一个坚实的灰色图像。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

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

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

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

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