tkinter bouton de commandes avec lambda en Python

j'ai essayé de chercher une solution, mais ne pouvait pas en trouver un qui fonctionne. J'ai un 2d liste de tkinter, Boutons, et je veux changer leur Texte quand on clique dessus avec la souris. J'ai essayé de faire ceci:

def create_board(number):
    print(number)
    for i in range (0,number):
        buttonList.append([])
        for j in range(0,number):
            print(i,j)
            buttonList[i].append(Button(root, text = " ", command = lambda: update_binary_text(i,j)))
            buttonList[i][j].pack()

Puis lorsqu'il est cliqué, il appelle cette fonction:

def update_binary_text(first,second):
    print(first,second)
    buttonList[first][second]["text"] = "1"

Lorsque je clique sur un bouton, il n'a tout simplement rien, j'ai eu le programme d'affichage de l'index du bouton qui a été cliqué, et ils montrent TOUS 4, 4 (c'est quand la variable nombre=5) Est-il une solution à cela?

c'est mon premier python tentative de classe.

Grâce

InformationsquelleAutor vap | 2013-04-25