为什么在tkinter中显示这个图像?

时间:2018-03-17 19:20:37

标签: python python-3.x image tkinter

这是我的代码:

from tkinter import *

class app(Tk):
    def __init__(self, *args, **kwargs):
        Tk.__init__(self, *args, **kwargs)
        image = PhotoImage(file="image.gif")
        Label(image=image).pack()

window = app()
window.mainloop()

运行上述代码时,不显示图像。但是,当我运行以下代码时......

from tkinter import *

root = Tk()
image = PhotoImage(file="image.gif")
Label(image=image).pack()

root.mainloop()

......图像显示出来。为什么会这样,我该如何纠正呢?

1 个答案:

答案 0 :(得分:2)

替换:

image = PhotoImage(file="image.gif")
Label(image=image).pack()

使用:

self.image = PhotoImage(file="image.gif")
Label(image=self.image).pack()

图像参考不需要进行垃圾回收以便显示。