2015-12-11 72 views
1

我正在嘗試顯示圖像。使用tkinter,ttk和python3顯示.gif圖像

from tkinter import * 
from tkinter import ttk 

root = Tk() 
myimage = PhotoImage(file='world.gif') 
ttk.Label(root, image=myimage) 
root.mainloop() 

當我運行這個,我希望看到我的形象。但我只看到一幅純色的灰色影像。 任何幫助表示讚賞。

回答

2

您需要保留對Tkinter對象的引用。像這樣的東西(我不使用TTK這裏):

myimage = PhotoImage(file='world.gif') 

label = Label(image=myimage) 
label.image = myimage # the reference 
label.pack() 

垃圾收集器試圖丟棄Tkinter的圖像對象,因爲Tkinter的不保留它的參考。因此Tkinter發佈圖像,Tk小部件不會,並且您會看到一個奇怪的空白圖像。

+0

非常感謝Adam。我必須在變量中引用ttk.Label:'label = ttk.Label(root,image = myimage)',然後使用pack方法 'label.pack()' – hedgesketch