长话短说,我已经在字典中填充了按钮,这些按钮调用带参数的函数(它们所在的坐标),如下所示:
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()
有人可以帮忙说出我做错了吗?
答案 0 :(得分:2)
您正在将按钮数组中的按钮编入索引(n, m)
,但将按钮销毁为(m, n)
。确定您是使用列优先或行优先表示法,然后始终如一地使用它!
如果您不能这样做,请使用(row, column)
或至少(r, c)
而不是无意义(m, n)
或(p, q)