2011-11-17 38 views
1

在Tkinter中,我該如何糾正這個循環/函數,以便每個按鈕將一個值更改爲該按鈕的值?在Tkinter中,我該如何糾正這個循環/函數,以便每個按鈕將一個值更改爲該按鈕的值?

這是我的代碼的簡化版本,此刻每個按鈕將大小的值更改爲15而不是按鈕上的數字。我想知道如果沒有打印每個單獨的按鈕和沒有循環的值,是否有修復此循環?

from Tkinter import * 

size = 7 

def AI(): 
    AIBoard = Tk()   
    AIBoard.title("Board Select") 
    BoardSize = Label(AIBoard, text = "Please pick a board size: ", font = ('Helvetica',20)) 
    BoardSize.pack(side = 'top') 

    for a in range(5,16,1): 
     sizeBut = Button(AIBoard, text = a, width = 5, command = lambda: inputBoardSize(a)) 
     sizeBut.pack(side = 'left') 

    AIBoard.mainloop() 

def inputBoardSize(x): 
    size = x 
    print size 

AI() 

感謝名單

回答

2

更改您的拉姆達綁定在一次創建匿名函數的值。

lambda a=a: inputBoardSize(a) 
+0

謝謝!正是我需要的:) – Chris

相關問題