Python 在Tkinter中,如何更正此循环/功能,以便每个按钮都将一个值更改为按钮的值?

Python 在Tkinter中,如何更正此循环/功能,以便每个按钮都将一个值更改为按钮的值?,python,lambda,tkinter,Python,Lambda,Tkinter,在Tkinter中,如何更正此循环/功能,以便每个按钮都将一个值更改为按钮的值 这是我的代码的简化版本,目前每个按钮都将大小的值更改为15,而不是按钮上的数字。我想知道是否有办法修复这个循环,而不打印每个按钮和值,而不打印循环 from Tkinter import * size = 7 def AI(): AIBoard = Tk() AIBoard.title("Board Select") BoardSize = Label(AIBoard, t

在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()

Thanx

更改lambda以在创建匿名函数时绑定该值

lambda a=a: inputBoardSize(a)

非常感谢。正是我所需要的:)