使用Lambda 在For 循環中進行Tkinter 按鈕命令分配
在Tkinter 中,一個常見的任務是使用for 建立一系列按鈕環形。但是,當使用 lambda 函數向這些按鈕指派命令時,會出現一個陷阱。
在 lambda 函數中使用也在 for 迴圈迭代器中使用的變數名稱時,就會出現此問題。隨著循環的進行,此變數會不斷重新分配,導致所有按鈕對分配的變數使用相同的值。
要解決此問題,請透過引入預設關鍵字參數來修改 lambda 表達式。每次循環都會將變數的目前值綁定到lambda 的關鍵字參數:
透過將變數名稱指派給name 關鍵字參數,當前值在每次迭代中綁定到該參數。這確保每個按鈕在單擊時保留其唯一的參數。
以上是在迴圈中指派 Tkinter 按鈕指令時如何避免變數作用域問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!