我知道,點擊按鈕時調用一個函數,我們在按鈕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