2011-07-19 135 views
2

使用Tkinter教程網站(由學校提供),我試圖在我的Python程序的標籤中添加一個簡單的Paint-drawn gif。試圖將一個簡單的圖像添加到標籤中

mainframe = ttk.Frame(sub, padding="3 3 12 12") 
mainframe.grid(column=0, row=0, sticky=(N, W, E, S)) 
mainframe.columnconfigure(0, weight=1) 
mainframe.rowconfigure(0, weight=1) 
mainframe['padding'] = (5,10) 
label = ttk.Label(mainframe).grid(column=1, row=1) 
image1 = PhotoImage(file='myimage.gif') 
label['image'] = image1 
sub.mainloop() 

的片段中的問題是:

label = ttk.Label(mainframe).grid(column=1, row=1) 
image1 = PhotoImage(file='myimage.gif') 
label['image'] = image1 

由於這種返回

Exception in Tkinter callback 
Traceback (most recent call last): 
    File "C:\Python31\lib\tkinter\__init__.py", line 1399, in __call__ 
     return self.func(*args) 
    File "\\curriculum.lan\filestore\home\2005\jasomner\Downloads\trial5.py", line 20, in subwindow 
     label['image'] = image1 
TypeError: 'NoneType' object does not support item assignment 

爲什麼?我怎樣才能解決這個問題?

+0

您是否試過下面的建議? – agf

回答

2

當你

label = ttk.Label(mainframe).grid(column=1, row=1) 

它的存儲Label().grid()輸出在label,而不是由Label()創建的新Label實例。

,如果你想既保存Label比如在label並設置網格您需要做的

label = ttk.Label(mainframe) 
label.grid(column=1, row=1) 

相關問題