我正在使用计算器。
我想为循环中的所有按钮分配一个特殊功能,这样,当单击该特定按钮时,它将更改变量的值。例如,当单击button1时,它将值更改为1,button2将值更改为2,依此类推。
我的按钮循环显示,并且一切正常。就在我尝试分配功能时,所有按钮都返回相同的数字(迭代的最终数量)。我不知道我在做什么错。
self.numbers = StringVar(self)
a = -1 #columns
b = 0 #button name counter, numbers counter
c = 0 # rows
d = -1 # support counter to estimate rows
buttons = []
numbers = list(range(10))
for x in range(9):
a = a + 1
b = b + 1
d = d + 1
self.button_a = Button(DataLeft, width=5, text=str(b), command=lambda:self.numbers.set(numbers[b]))
self.button_a.grid(row=c, column=a)
if a == 2:
c = 1
a = -1
if d == 5:
c = 2
buttons.append(self.button_a)