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)
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 ),
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()
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?
Partager