2015-12-14 43 views
1

爲了使長話短說,我做了字典充滿了與調用參數(它們在座標)功能按鈕這樣的:Python3按鈕不能被刪除

for m in range(75, 86): 
    for n in range(75, 86): 
     x=Button(win, text=" ", command=lambda m=m, n=n: click(m, n)) 
     x.grid(row=m, column=n) 
     buttons[(n, m)]=x 

我想刪除被調用的按鈕(在這種情況下是被按下的按鈕),但不知何故它會一直刪除其他按鈕。應該刪除按鈕的功能是這樣的:

def click(p, q): 
    global buttons 
    buttons[(p, q)].destroy() 

任何人都可以告訴我做錯了什麼嗎?

回答

2

您正在將按鈕陣列中的按鈕索引爲(n, m),但銷燬該按鈕爲(m, n)。確定您是使用列先行還是行先行符號,然後一致地使用它!

如果你不能做到這一點,使用(row, column)或至少(r, c),而不是毫無意義的(m, n)(p, q)