【发布时间】:2014-08-08 01:42:55
【问题描述】:
我知道有很多类似的问题,但没有任何简单到我能够理解的问题。我有以下代码:
import Tkinter as tk
from PIL import Image, ImageTk
class MainWindow:
def __init__(self, master):
canvas = Canvas(master)
canvas.pack()
self.pimage = Image.open(filename)
self.cimage = ImageTk.PhotoImage(self.pimage)
self.image = canvas.create_image(0,0,image=self.cimage)
filename = full_filename
root = tk.Tk()
x = MainWindow(root)
mainloop()
我收到以下错误:
TclError: image "pyimage36" doesn't exist
我读过一些关于图像对象被垃圾清理的内容,但我不太明白。
【问题讨论】:
-
显示完整的错误信息 - 有更多信息。 “pyimage36”是文件名还是什么?
-
我也遇到过这个问题。我似乎只有在使用 Spyder 时才会遇到这个问题。在 Windows 和 Linux (Raspbian) 中使用 Spyder 时出现错误。当我在 Pi 上使用 Idle 或在 Windows 上使用 Pycharm 时,我没有得到这种行为。
标签: python image tkinter python-imaging-library