tkinter在循环中创建按钮以传递命令参数我试图在tkinter中创建一个for循环中的按钮。对于每个循环,将i计数值作为命令值中的参数传递出去。因此,当从命令值调用函数时,我可以判断按下哪个按钮并相应地执行操作。问题是,假设len是3,它将通过“第3游戏”创建3个标题为“游戏1”的按钮,但当按下任何按钮时,打印值总是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值,以坚持使用特定的按钮?
添加回答
举报
0/150
提交
取消