C'est le même problème que j'ai posé plus tôt aujourd'hui et que quelques uns d'entre vous ont essayé de m'aider, mais je n'arrive pas à le faire fonctionner. Tout ce que je veux faire est de remplir "ichose" avec les multiples sélections que je fais quand je clique sur la liste.Problèmes en Python obtenant des sélections multiples de Tkinter listbox
import Tkinter as tk
from Tkinter import *
global ichose
class App(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self,master)
self.master=master
self.grid()
self.ichose =()
self.l = Listbox(self, height=10, selectmode=EXTENDED)
# Selectmode can be SINGLE, BROWSE, MULTIPLE or EXTENDED. Default BROWSE
self.l.grid(column=0, row=0, sticky=(N,W,E,S))
self.l.bind("Double-Button-1", self.entered)
s = Scrollbar(self, orient=VERTICAL, command=self.l.yview)
s.grid(column=0, row=0, sticky=(N,S,E))
self.l['yscrollcommand'] = s.set
for i in range(1,101):
self.l.insert('end', 'Line %d of 100' % i)
def entered(self, event):
self.ichose = self.selection_get()
self.ichose = ('hello')
root=tk.Tk()
root.title('Listbox Problem')
root.geometry('200x200')
app=App(root)
root.mainloop()
print app.ichose
Tout ce que je fais, "ichose" apparaît comme un tuple vide(). Il est clair que la fonction "entrée" n'est jamais appelée car je ne vois jamais la chaîne de test "bonjour".
Je ne sais pas non plus quelles sont les différentes options comme dans "Double-Button-", "<>" etc. Où puis-je trouver une liste et une explication de chacune?
Si quelqu'un pouvait simplement modifier mon programme pour que "print ichose" fonctionne, je serais vraiment reconnaissant. Vous pouvez voir dans mon programme que je ne sais pas vraiment ce que je fais mais que je suis désireux d'apprendre. Je vous remercie.