2016-07-14 8 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を参照する必要があります。これらの2行の後

imLabel.image = im 

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

その他の注意事項:Tkのよう代わりにあなたが をやっていることの

  • 実行インポートのTkinterこれは、この行を追加する必要があることを意味します
  • これを修正:root = Tkinter.Tk()(かっこを追加)
  • 変更app = InterfaceApp(None)app = InterfaceApp(root)
  • に離れapp.title("P")を削除し、私はそれを固定しているroot.mainloop()
+1

__init__()このself.parent.title("P")

  • 変更app.mainloop()の内側に書きます。 'Tkinter as Tk'を固定しました。
    ' root = Tk.Tk() '固定 'クラスInterfaceApp(): '固定 'ルート.__ init __(自己、親) 'が削除されました。 'root.title(" P ")'固定 'app = InterfaceApp(root)'固定 'root.mainloop()'が修正されました –

  • 関連する問題