我正在尝试在for
循环中在 tkinter 中创建按钮。并且每个循环都将i
计数值作为命令值中的参数传递出去。因此,当从command
值调用函数时,我可以知道按下了哪个按钮并采取相应的行动。
问题是,假设长度为 3,它将创建 3 个带有标题的按钮,Game 1但是Game 3当按下任何按钮时,打印的值总是2
,最后一次迭代。所以看起来按钮是作为单独的实体制作的,但i
命令参数中的值似乎都是一样的。这是代码:
def createGameURLs(self):
self.button = []
for i in range(3):
self.button.append(Button(self, text='Game '+str(i+1),
command=lambda: self.open_this(i)))
self.button[i].grid(column=4, row=i+1, sticky=W)
def open_this(self, myNum):
print(myNum)
有没有办法在i
每次迭代中获取当前值以坚持那个特定的按钮?