Bonjour à tous.

en partant d'une grille 10x10 constituées de boutons :



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
for ligne in range (1,11):
    for colonne in range (1,11):
        mavar ="bouton"+str(ligne)+str(colonne)
        mavar= Button(fenetre, width = 3, heigh = 1,borderwidth=1)
        mavar.grid(row=ligne, column=colonne)
Chaque bouton est donc défini ainsi : .boutonLigneColonne soit .bouton11 pour le premier en haut à gauche jusqu'à .bouton1010 pour le dernier en bas à droite.

Je cherche à reconstituer l'adresse d'un bouton dans une fonction de concaténation de ce type, pour en changer le texte d'un bouton pris au hasard :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
def ChangeText () :
    PosX= randrange(1,11)
    PosY=randrange(1,11)
    mavar = "bouton"+str(PosX)+str(PosY)
    mavar.config(text="X", fg='grey')
La variable key_value se trouve bien reconstituée d'une valeur de la forme ".bouton1010" comme ci-dessus. Malheureusement, la variable est un string (str) et n'est pas considérée comme l'adresse d'un button.

J'ai donc logiquement le message d'erreur suivant : AttributeError: 'str' object has no attribute 'config'

Comment convertir ce string en l'adresse du bouton (qui fait partie de )

Merci pour votre aide.