Bonjour,

Je créer une listbox dans une fonction et je souhaite que lorsque l'on clique sur un des éléments de la liste cela appelle une autre fonction en faisant passer différents paramètres, dont l'indice de l'élément sélectionné :
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
 
    fen_Sel_Date=Frame(fensterDate,bg='white',borderwidth=1)
    fen_Sel_Date.pack(fill=BOTH)
    champ_label = Label(fen_Sel_Date, text="Choisissez une date et placez les satellites pour la station "+str(detailStation[0]))
    champ_label.pack()
    scrollbar = Scrollbar(fen_Sel_Date, orient=VERTICAL)
    listeDatum=[]
    print("Remplissage de la liste des dates")
    for elementDates in DictDates:
        if listeDatum.count(arrondiDate(elementDates["TIME"]))==0 :
            #listeDates.insert(END,str(arrondiDate(elementDates["TIME"])))
            listeDatum.append(arrondiDate(elementDates["TIME"]))
    # creation de la listbox
    boxDates=Listbox(fen_Sel_Date , font=gross_font, yscrollcommand=scrollbar.set)
    for elementDate in listeDatum:
        boxDates.insert(END,str(elementDate))
        #print(elementDates["TIME"])
    boxDates.bind('<ButtonRelease-1>',selectedItem(boxDates.curselection(),listeDatum))
    scrollbar.config(command=boxDates.yview)
    scrollbar.pack(side=RIGHT, fill=Y)
    boxDates.pack() :
La fonction appelée "selectedItem" est la suivante

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
def selectedItem(iSelected,listeDatum2):
    print("Selection :")
    print(iSelected)
    print("Liste :")    
    print(listeDatum2)
Cette fonction est exécutée lors de la création de la listbox et non quand on clique sur un élément.

Si je fais la modification suivante dans la première fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boxDates.bind('<ButtonRelease-1>',selectedItem)
et celle là dans la seconde :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
def selectedItem(evt):
    print(evt) # que me retourne evt ?
    print("Selection :")
    print(iSelected)
    print("Liste :")    
    print(listeDatum)
La seconde fonction n'est plus exécutée sans cliquer sur un élément de la liste mais je n'arrive à récupérer ni l'indice sélectionné, ni la liste de la précédente fonction.


Que faire ? Merci de votre aide.