我没有在Tkinter中显示图像

时间:2016-07-14 09:30:50

标签: python image python-2.7 tkinter

图片无法在Tkinter中显示。相同的代码在新窗口中工作,但在我的课程中却没有。可能是什么问题?

import Tkinter

root = Tkinter.Tk


class InterfaceApp(root):
    def __init__(self,parent):
        root.__init__(self,parent)
        self.parent = parent
        self.initialize()


    def initialize(self):
        frPic = Tkinter.Frame(bg='', colormap='new')
        im = Tkinter.PhotoImage(file="tr.gif")
        imLabel = Tkinter.Label(frPic, image=im)
        frPic.grid(row = 4, columnspan = 10, sticky='EW')
        imLabel.grid(row=3,column=30)

if __name__ == '__main__':
    app = InterfaceApp(None)
    app.title("P")
    app.mainloop()

1 个答案:

答案 0 :(得分:1)

您必须保留对tr.gif的引用。这意味着您需要添加以下行:

imLabel.image = im

这两行之后:

im = Tkinter.PhotoImage(file="tr.gif")
imLabel = Tkinter.Label(frPic, image=im)

其他说明:

  • 将导入Tkinter作为Tk而不是您已完成的操作
  • 解决此问题:root = Tkinter.Tk()(添加括号)
  • app = InterfaceApp(None)更改为app = InterfaceApp(root)
  • 移除app.title("P")并在此__init__()
  • 内写self.parent.title("P")
  • app.mainloop()更改为root.mainloop()