Tkinter 中的图像

为什么我不能使用这个添加图像:


from tkinter import * 

root = Tk()


def logo():

    photo = PhotoImage(file="Logo.png")

    Label(root, image=photo).grid()


logo()


root.mainloop()

但是我可以使用以下方法添加图像:


from tkinter import * 

root = Tk()


photo = PhotoImage(file="Logo.png")

Label(window, image=photo).grid()


logo()


root.mainloop()

有什么帮助吗?


largeQ
浏览 122回答 1
1回答

千万里不及你

您必须保留对图像的引用,以防止图像被垃圾收集。试试这个:def logo():    photo = PhotoImage(file="Logo.png")    lbl = Label(root, image=photo)    lbl.image = photo # keep a reference    lbl.grid()您不必在其他块中执行此操作,因为您使用的是全局变量,该变量永远不会被垃圾回收。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python