Bonjour,

J'ai actuellement un problème avec des Checkbutton
En effet, je dois créer une page d'affichage de résultats suite à une recherche par critères dans une base de données.
Les résultats doivent pouvoir être sélectionnés (à l'aide des Checkbutton, renvoyant une valeur True ou False) afin d’être modifiés par d'autres fonctions par la suite.

Le problème est que ces autres fonctions nécessitent donc en paramètre une liste de "True" ou "False" selon que le résultat est coché ou non.
Et je n'arrive pas à créer cette liste, le nombre de résultats (et donc de checkbutton) n'etant pas fixe.
Je ne vois pas comment récupérer les valeurs des coches, dans l'ordre, sans nom défini pour chacune.

Pour l'instant mon code ne marche donc pas, et je pense qu'il faut au moins utiliser ".get()" quelque part, mais je suis paumée et je tourne en rond!
Je demande donc votre aide
(je précise que je suis relativement débutante en programmation, donc... ne soyez pas trop rapides dans vos explications s'ils vous plait! ^^ )

Voila l'extrait du code qui me pose probleme :

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
21
22
23
24
EtatCheckButton =[False for i in range (len(resultat))]
        for i in range(len(resultat)) :
            EtatCheckButton[i] = StringVar()
            Bouton=Checkbutton(fenetre_resultat, text='', variable=EtatCheckButton[i], onvalue=True, offvalue=False, bg='light blue')
            Bouton.grid(row=i+1, column=1)
            for j in range(10) :
                if resultat[i][j]==None :
                    TextAffiche='Ne se prononce pas'
                elif j in [4,7,9] :
                    if j==4 or j==7 :
                        if resultat[i][j] in [1, 'True'] :
                            TextAffiche='Soudés'
                        elif resultat[i][j] in [2,'False'] :
                            TextAffiche='Non Soudés'
                    elif j==9 :
                        if resultat[i][j]=='2' :
                            TextAffiche='Partout'
 
                        elif resultat[i][j]=='1' :
                            TextAffiche='A la base'
                else :
                    TextAffiche=str(resultat[i][j])
 
                Label(fenetre_resultat, text=TextAffiche, bg='light blue').grid(row=i+1, column=j+2)