我正在尝试使用for循环将多个编号的命令添加到Tkinter菜单。当调用命令时,它的编号应该用作命令函数的参数。以下代码不起作用,因为在调用命令时评估i,即在循环完成之后。这意味着传递给function1的参数始终为15,而我通过传递命令标签上显示的数字。有没有办法实现这个目标?
注意:标签按预期工作,产生16个标记为0到15的选项
newMenu = Menu(menuButtonInstance)
for i in range(16):
newMenu.add_command(label = '%s'%i,
command = lambda:function1(i))
menuButtonInstance.config(menu = newMenu)
提前致谢
答案 0 :(得分:4)