0
我想有一個計劃,將有8×8按鈕的網格,其將在單擊改變它們的顏色 我的代碼如下所示:Python的Tkinter的:改變色彩的最近點擊按鈕
def Function(self):
for i in range(8):
for j in range(8):
a=Button(self,width=2,height=1,command=lambda widget="button"+str(i)+str(j):Click1(self,widget))
a.grid(row=i,column=j)
def Click1(self):
a["bg"]="blue"
我有這樣的問題是,我不斷收到一個錯誤說:
NameError: name 'Click1' is not defined
這方面的任何解決方案?
不運行這個驗證它,我敢打賭,你需要寫'self.Click1(部件)'在你的命令,而不是'CLICK1(個體經營,小部件)' 。但是如果這樣可以解決這個錯誤,我敢打賭你會得到一個新的錯誤'Click1只需要1個參數(2給出)',因爲你將'self'和'widget'傳遞給一個僅僅期望'self'的函數。如果你通過在'def'中添加'widget'來解決這個問題,我敢打賭你會得到'NameError:a沒有定義'。如果你把'a'換成'widget',我敢打賭你會得到'TypeError:字符串索引必須是整數,而不是str' ...男孩,這很棘手! – Kevin 2015-03-30 20:26:32
你猜對了,除了最後一個: TypeError:'str'對象不支持項目分配 – dachaver 2015-03-30 20:54:37