小编典典

Tkinter pyimage不存在

python

我知道有很多类似的问题,但是没有一个我能理解的简单问题。我有以下代码:

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

我读过一些有关图像对象被垃圾清理的内容,但我不太了解。


阅读 223

收藏
2020-12-20

共1个答案

小编典典

弄清楚了。出于某种原因,在调试器中运行时,如果以前的任何执行都引发了错误,则会出现“
pyimage不存在”错误。但是,如果我重新启动调试器(或者之前没有执行过的脚本没有引发错误),则程序运行正常。

2020-12-20