为什么我不能使用此添加图像
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()
有帮助吗?
答案 0 :(得分:0)
您必须保留对图像的引用,以防止图像被垃圾收集。试试这个:
def logo():
photo = PhotoImage(file="Logo.png")
lbl = Label(root, image=photo)
lbl.image = photo # keep a reference
lbl.grid()
您不必在其他块中执行此操作,因为您使用的是全局变量,该变量永远不会被垃圾回收。
请参阅this page底部的注释。