使用PIL在Tkinter Canvas小部件中嵌入图像

时间:2011-01-31 01:16:28

标签: python image embed tkinter python-imaging-library

我正在尝试使用PIL在Tkinter画布中嵌入图像,并且由于某种原因它没有显示。有任何想法吗?

没有错误或警告。只是一个空白的Tk窗口。

我的代码:

import Tkinter
from PIL import ImageTk, Image


class image_manip(Tkinter.Tk):
    def __init__(self,parent):
        Tkinter.Tk.__init__(self,parent)

        self.ImbImage = Tkinter.Canvas(self)
        self.ImbImage.pack()

        i = ImageTk.PhotoImage(Image.open('test.png'))
        self.ImbImage.create_image(0, 0, image=i)

def run():
    image_manip(None).mainloop()
if __name__ == "__main__":
    run()

1 个答案:

答案 0 :(得分:7)

我的猜测是图像被垃圾收集了。尝试保存对“i”的引用(例如:self.image = i)