FAQ Python
FAQ PythonConsultez toutes les FAQ
Nombre d'auteurs : 11, nombre de questions : 188, dernière mise à jour : 14 juin 2021
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
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)
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
(
)
Pour supprimer un élement dans une listbox, il faut utiliser la fonction l.delete(first, last=None)
où 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)
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
(
)