首頁 >後端開發 >Python教學 >如何將參數傳遞給 Tkinter 按鈕指令而不提前執行?

如何將參數傳遞給 Tkinter 按鈕指令而不提前執行?

Barbara Streisand
Barbara Streisand原創
2024-12-21 03:12:10784瀏覽

How Can I Pass Arguments to Tkinter Button Commands Without Premature Execution?

將參數傳遞給 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn