將參數傳遞給 Tkinter 中的按鈕命令
在 Tkinter 中建立按鈕時,將參數傳遞給命令函數非常有用。提供的程式碼:
import Tkinter as Tk win = Tk.Toplevel() frame = Tk.Frame(master=win).grid(row=1, column=1) button = Tk.Button(master=frame, text='press', command=action)
其中action是按下按鈕時調用的方法,建議可以將參數直接作為參數傳遞給按鈕的命令:
button = Tk.Button(master=frame, text='press', command=action(someNumber))
但是,這將立即執行操作,使按鈕無用。要解決此問題:
使用Lambda 的解決方案
lambda 允許在沒有明確包裝方法或修改操作的情況下進行參數綁定:
button = Tk.Button(master=frame, text='press', command= lambda: action(someNumber))
此綁定有效地傳遞參數並確保按下按鈕時正確調用操作。
以上是如何將參數傳遞給 Tkinter 按鈕指令而不提前執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!