Bonjour je veux modifier le tittre d'un boutton je n'arrive pas.
Bonjour je veux modifier le tittre d'un boutton je n'arrive pas.
J'ai essayer mais ça ne fonctionnent toujours pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part grille[k][t].configure(command =lambda : grille[k][t].configure(text="0"))
Salut,
Si tu expliquais ce que tu veux faire plus exactement, peut-être qu'une solution plus simple serait envisageable.
En lisant ton code, je vois que tu as une liste (de listes) de chiffres et qu'il est question d'un démineur, on situe le décor, ok.
Tu itères sur ta liste et tu remplaces chaque chiffre par un bouton, dont tu ne veux pas afficher le texte directement mais seulement après click, normal.
Jusque là je devine, sauf pour la valeur "9" que tu affiches directement. Erreur ?
Et tu comptais faire de même pour chacune des valeurs de 8 à 1 ?
Simplifions, on crée un dictionnaire, on y met pour clefs les instances des boutons et pour valeur celle données par la grille de départ.
Grosso-modo ça:
Et dans la fonction pressed(), selon la valeur donnée par le dico, tu affiche le texte, ce qui est aisé puisque l'argument btn est l'instance du bouton ou bien (valeur 9) tu appelles ta fonction game_over()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 buttons = {} def afficher_grille(grille): global buttons for k in range(2,len(grille)-1): for t in range(2,len(grille[0])-1): button = Button(demineur,text='', lambda: pressed(button)) buttons[button] = grille[k][t] def pressed(btn): global buttons print buttons[btn]
Partager