我知道,点击按钮时调用一个函数,我们在按钮Widget括号内写入command = name_of_function
。但是,当我们试图通过在函数名称后面的括号内添加一个参数来将值传递给函数时,该函数被调用得太早,而不是单击该按钮时。为按钮指定一个函数 - lambda有什么不同?
我知道我们可以使用lambda
来解决这个问题。 command = Lambda: name_of_function(argument)
。
但我不明白的是为什么lambda
工作,而不是一个普通的函数调用用括号和参数?
例如,这个工程:
editmenu.add_command(label="1. Problem Definition", command=lambda: changeText(0))
但这并不:
editmenu.add_command(label="1. Problem Definition", command=changeText(0))
请提供的示例代码 – 2014-09-23 07:29:22
谢谢jonrsharpe! – sw123456 2014-09-23 07:40:43