0

我正在使用 PIL 加载 jpg 文件并将其显示在标签小部件中。起初,我从 python 得到“解码错误”,发现这篇关于堆栈溢出的帖子 - How can I install PIL on mac os x 10.7.2 Lion - 它解决了解码错误。但是,标签不显示任何图像,只是一个白色区域。这是加载图像的代码 -

    script, file = argv 
    self.orgimg = Image.open(file)

    #Original Image
    img = ImageTk.PhotoImage(self.orgimg)
    Label(self.root, image=img).grid(row=0,column=0,padx=5,pady=5)
4

2 回答 2

1

我感觉图像已被垃圾收集。看看这个:http ://effbot.org/pyfaq/why-do-my-tkinter-images-not-appear.htm

如果您将图像存储在局部变量中,它将在函数返回时被垃圾收集。

于 2013-04-15T08:08:40.367 回答
0

也许你应该打电话:

self.orgimg.load()

实际加载位图信息。

根据这个网站,还有一个类似于您的问题的警告。

于 2012-11-06T15:18:14.333 回答