【发布时间】:2020-01-27 10:12:45
【问题描述】:
我最初询问是否将图像添加到 tkinter 框架。我最终得到的代码如下:
img_load = Image.open('D:\Downloads\Pictures\Python\PNG\\2C.png')
img_load = img_load.resize((140,200), Image.ANTIALIAS)
imgRender = ImageTk.PhotoImage(img_load)
img = tk.Label(frame1, image=imgRender)
img.image = imgRender
到目前为止,这似乎还可以,但是后来我想将那个图像换成另一个。我可以在它的位置加载另一个,但我怀疑这可能会导致内存泄漏。
我在 PIL Image 对象上遇到过 close 方法,并尝试使用它。我将它绑在一个按钮上,然后单击它,没有任何反应——图像保留在屏幕上的框架中,因此它在内存中。为了清楚我在做什么,代码如下:
img_load.close()
所以看来我的做法是错误的。我确实希望将图像添加到框架中,因此我使用的代码运行良好。我只是不知道在这种情况下如何卸载该图像。
那我该怎么做呢?
编辑:我似乎需要担心两个对象。图像和照片图像。两者都是创建的对象。前者我可以用'close',但后者似乎没有这样的方法。
【问题讨论】:
标签: python-3.x tkinter python-imaging-library