Soutenez-nous

FAQ pythonConsultez toutes les FAQ

Nombre d'auteurs : 11, nombre de questions : 188, dernière mise à jour : 23 mai 2009  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions posées sur le forum Python complétées par d'autres questions qui pouvaient nous sembler intéressantes de traiter. Toutefois il se peut que les réponses apportées contiennent des erreurs, imprécisions ... Vous pouvez dans ce cas contacter un des membres de la rédaction pour lui faire part de vos remarques.

L'équipe Python de Developpez.


SommaireGUITkinter / Tix / PmwTkinterListbox (3)
précédent sommaire suivant
 

Code python :



1
2
3
4
def clic(evt): 
    i=listbox.curselection()  ## Récupération de l'index de l'élément sélectionné 
    return listbox.get(i)  ## On retourne l'élément (un string) sélectionné 
listbox.bind('<ButtonRelease-1>',clic)  ## on associe l'évènement "relachement du bouton gauche la souris" à la listbox

Mis à jour le 25 mai 2005 Guigui_

L'association d'un Scrollbar à une Listbox se fait très simplement. Pour cela, il suffit de créer un Scrollbar et la Listbox associée avec un même parent (en général une Frame).
Ensuite, il faut configurer le Scrollbar et la Listbox pour que le déplacement dans la Listbox et le mouvement de l'ascenseur se fasse simultanément, pour un Scrollbar vertical:
scrollbar.config(command = widget.yview)
listbox.config(yscrollcommand = scrollbar.set

Enfin, on les affiche à l'écran par l'intermédiaire du packer
listbox.pack(side = Tk.LEFT, fill = Tk.Y)
scrollbar.pack(side = Tk.RIGHT, fill = Tk.Y)


Code python :



1
2
3
4
5
6
7
8
9
10
11
12
import Tkinter as Tk 
root = Tk.Tk() 
f1 = Tk.Frame(root) 
s1 = Tk.Scrollbar(f1) 
l1 = Tk.Listbox(f1) 
for i in range(20): l1.insert(i, str(i)) 
s1.config(command = l1.yview) 
l1.config(yscrollcommand = s1.set) 
l1.pack(side = Tk.LEFT, fill = Tk.Y) 
s1.pack(side = Tk.RIGHT, fill = Tk.Y) 
f1.pack() 
root.mainloop()

Mis à jour le 2 mai 2006 Guigui_

Pour supprimer un élement dans une listbox, il faut utiliser la fonction l.delete(first, last=None)first représente l'index du premier élement supprimé et last, l'index du dernier. Si ce dernier est omis, un seul élément (désigné par first) sera supprimé.
Pour vider une listbox, il suffit d'appliquer la procédure l.delete(0,Tk.END)

Code python :



1
2
3
4
5
6
7
8
9
10
11
12
13
import Tkinter as Tk 
  
root = Tk.Tk() 
listbox = Tk.Listbox(root) 
listbox.insert(0, 'element1') 
listbox.insert(1, 'element2') 
listbox.insert(2, 'element3') 
listbox.pack() 
def clear(): 
    listbox.delete(0, Tk.END) 
btn = Tk.Button(root, text = 'Effacer la liste', command=clear) 
btn.pack() 
root.mainloop()

Mis à jour le 20 juillet 2006 Guigui_

Proposer une nouvelle question/réponse à la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2014 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
 
 
 
Partenaires

PlanetHoster
Ikoula