2015-12-14 72 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)