有没有一种方法可以将功能分配给循环中的特定按钮?

时间:2019-06-20 23:19:07

标签: python python-3.x

我正在使用计算器。

我想为循环中的所有按钮分配一个特殊功能,这样,当单击该特定按钮时,它将更改变量的值。例如,当单击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)

0 个答案:

没有答案