Bonjour,

Je fais une boucle qui crée 3 boutons radios (sans indicateurs) avec 3 images (au lieu du texte) et une commande = lambda: fonction(nom du fichier image)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
 
from tkinter import *    
 
def changeTuiles(file):
    print(file)
 
 
 
fenetre=Tk()
 
controlVar = StringVar()
controlVar.set("Tuil0")
imgTuil=[]
for i in range(3):
    fichier="TuilSmall-"+str(i)+".png"
    imgTuil.append(PhotoImage(file=fichier))
    Radiobutton(fenetre, image = imgTuil[i], indicatoron=0, variable = controlVar, value = "Tuil"+str(i), command=lambda: changeTuiles(fichier) ).grid(row=i, column=1, padx=5)
 
fenetre.mainloop()
la création des boutons radio est OK et ils ont bien une image différente dessus (TuilSmall-0.png, TuilSmall-1.png, TuilSmall-2.png Nom : TuilSmall-0.png
Affichages : 212
Taille : 2,6 KoNom : TuilSmall-1.png
Affichages : 228
Taille : 2,6 KoNom : TuilSmall-2.png
Affichages : 208
Taille : 2,5 Ko),
le grid() et ok aussi. La plus part des actions indexées par les valeurs de i de la boucle semblent bien se passer....
sauf qu'il doit y avoir un truc que j’écris mal car:

Quelque soit le bouton radio sur lequel on clique, la fonction changeTuile(file) imprime toujours " TuilSmall-2.png "

Alors que je m'attendais à avoir le nom du fichier qui est sur le bouton cliqué.
Où est mon erreur svp?