2016-07-14 95 views
0

圖像不顯示在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

您必須保留對tr.gif的引用。這意味着你需要添加此行:

imLabel.image = im 

這兩條線後:

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

其他說明:

  • 潤進口的Tkinter的傳統知識,而不是你做了什麼
  • 修復此問題:root = Tkinter.Tk()(加括號)
  • 更改app = InterfaceApp(None)app = InterfaceApp(root)
  • 刪除掉app.title("P")和內部__init__()self.parent.title("P")
  • 變化app.mainloop()root.mainloop()
+1

我有固定它。 (),固定的 'root .__ init __(self,parent)'被刪除。「Tkinter as Tk' fixed,
'root = Tk.Tk()'fixed 'class InterfaceApp():'fixed ' 'root.title(「P」)'fixed 'app = InterfaceApp(root)'fixed 'root.mainloop()'fixed –