Bonjour,

Après avoir parcouru pas mal le net sur des exemples et autres tutoriels, je n'arrive pas à récupérer un item d'une listbox que j'ai ouverte dans une nouvelle fenetre (Toplevel)

quelqu'un saurait il m'éclairer?

D'avance merci pour votre temps ^^

Les parties de code concernées:

(contenu du fichier db_path: card, 40, www.url )

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
25
26
27
28
29
30
####### Suppression d'une carte dans la database #######
def del_card():
    print "call del_card"
    del_wdw = Toplevel()
    del_wdw.title("Delete a Card")
    del_wdw.grab_set()
    del_wdw.protocol("WM_DELETE_WINDOW", del_wdw.destroy)
 
 
    ####### Création de la listbox et de la scrollbar #######
    frame_del = Frame(del_wdw)
    frame_del.pack()
    cardlistbox = Listbox(frame_del)
    scrollbar= Scrollbar(frame_del)
 
    cardlistbox.pack(side=Tkinter.LEFT, fill=Tkinter.Y)
    scrollbar.pack(side=Tkinter.RIGHT,fill=Tkinter.Y)
 
    scrollbar['command']=cardlistbox.yview
    cardlistbox['yscrollcommand']=scrollbar.set
 
    cardlist=get_cardlist(db_path)
    for item in cardlist:
        cardlistbox.insert(END,item)
 
    del_wdw.close_button = Button(del_wdw, text="Close", command=del_wdw.destroy)
    del_wdw.close_button.pack()
 
    current_selection = Label(frame_del,text="text à updater")
    current_selection.pack()
et la, c'est le drame, j'ai eu beau essayer avec des cardlistbox.bind ou mm d'autres méthodes, impossible de trouver comment récupérer l'item selectionné



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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
root = Tk()
root.title("MTG Price Checker")
root.config(width=300)
root.config(height=100)
 
 
frame=Frame(root)
frame.pack()
 
############## Définition des Labels #################
card_name= Label(frame, text="Card Name:").grid(row=1, column=1)
buying_price= Label(frame, text="Buying Price:").grid(row=2, column=1)
mv_url = Label(frame, text="Magic Ville URL:").grid(row=3, column=1)
card_shark_url=Label(frame, text="Card Shark URL:").grid(row=4, column=1)
card_market_url=Label(frame, text="Card Market URL:").grid(row=5, column=1)
 
 
########### Définition des entrées labels ############
card_name_entry = Entry(frame, width =20)
buying_price_entry = Entry(frame, width =20)
mv_url_entry = Entry(frame, width =20)       
card_shark_entry = Entry(frame, width =20)       
card_market_entry = Entry(frame, width =20)
 
########### Placement des entrées labels ############
card_name_entry.grid(row=1, column=2)
buying_price_entry.grid(row=2, column=2)
mv_url_entry.grid(row=3, column=2)
card_shark_entry.grid(row=4, column=2)       
card_market_entry.grid(row=5, column=2)
 
 
############## Bouton d'actions ##############
add_button = Button(frame, text="Add \n Card!", command=record_data, height="7")
analyse_button = Button(frame, text="Launch Analyze!", command=analyze, width="20", height="3")
update_button = Button(frame, text="Update  \n Card", command=update, height="3")
del_button = Button(frame, text="Del Card", command=del_card,height="3")
quit_button = Button(frame, text="Quit Mtg Analyzer", command=frame.quit, height="3")
 
############## Placement des boutons d'actions ##############
add_button.grid(row=1,rowspan=5, column=3)
quit_button.grid(row=6, column=3, columnspan=2)
analyse_button.grid(row=6, column=1)
update_button.grid(row=1,rowspan=2, column=4)
del_button.grid(row=3,rowspan=3, column=4)