原因:Python的垃圾回收机制错误地“回收”了图片对象,导致图片区域显示为空白
解决办法:在图片变量photo0前面添加global 变量,使之不被回收
在tkinker中插入图片来丰富用户图形界面(GUI),可以通过Label来实现,如在tkinker中插入五个图一中的图标代码如下:
import tkinter
from PIL import Image, ImageTk
from tkinter import *
import tkinter.font
def my_tk():
win = tkinter.Tk()
win.title("test_image_func")
win.geometry('300x200')
win.resizable(False, False)
photo0 = ImageTk.PhotoImage(file="./pointer.png")
label0 = Label(win, image=photo0, width=photo0.width(), height=photo0.height())
label0.place(x=75, y=75)
label1 = Label(win, image=photo0, width=photo0.width(), height=photo0.height())
label1.p

本文揭示了Python中图片对象被意外回收导致界面空白的现象,通过添加全局变量解决。探讨了如何在tkinter中使用图片并避免内存泄露,重点在于理解垃圾回收机制和如何正确使用全局变量以保持图片持久显示。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



