-1
我有以下一段代碼,我在其中創建一系列按鈕以在創建的數字類上運行增加或減少方法。按預期在列表中選定的對象,但我的問題越來越按鈕到正確的對象進行操作TKinter使用索引for循環來傳遞按鈕命令的參數
for idx in range(len(self._priceNums)):
Button(window, text='^', command=lambda: self.incNum(idx)).grid(row=0, column=numInColumn)
Label(window, textvariable=self._priceNums[idx]).grid(row=1, column=numInColumn)
Button(window, text='v', command=lambda: self.decNum(idx)).grid(row=2, column=numInColumn)
numInColumn += 1
的功能工作。
lamba: self.incNum(idx)
似乎只在按下按鈕時纔讀取idx。因此每個按鈕只能在列表中最後一個對象上運行該方法。有沒有辦法以這種方式創建一系列按鈕,每個按鈕都對應於此列表中的相應數字對象。下面是該方法以供參考
def incNum(self, idx):
self._priceNums[idx].set(self.game._adjustedPrice[idx].incNum())
注意,可能會或可能不會有所幫助:
_priceNums對應的值StringVars列表的數量_adjustedPrice
對象,謝謝!