Python - Boîte de liste Tkinter
Le widget Listbox est utilisé pour afficher une liste d'éléments à partir de laquelle un utilisateur peut sélectionner un certain nombre d'éléments.
Syntaxe
Voici la syntaxe simple pour créer ce widget -
w = Listbox ( master, option, ... )
Paramètres
master - Ceci représente la fenêtre parente.
options- Voici la liste des options les plus couramment utilisées pour ce widget. Ces options peuvent être utilisées sous forme de paires clé-valeur séparées par des virgules.
N ° Sr. | Option et description |
---|---|
1 | bg La couleur d'arrière-plan normale affichée derrière l'étiquette et l'indicateur. |
2 | bd La taille de la bordure autour de l'indicateur. La valeur par défaut est de 2 pixels. |
3 | cursor Le curseur qui apparaît lorsque la souris survole la zone de liste. |
4 | font La police utilisée pour le texte dans la zone de liste. |
5 | fg La couleur utilisée pour le texte dans la zone de liste. |
6 | height Nombre de lignes (pas de pixels!) Affichées dans la zone de liste. La valeur par défaut est 10. |
sept | highlightcolor La couleur affichée dans la mise en évidence du focus lorsque le widget a le focus. |
8 | highlightthickness Épaisseur du point culminant. |
9 | relief Sélectionne des effets d'ombrage de bordure en trois dimensions. La valeur par défaut est SUNKEN. |
dix | selectbackground La couleur d'arrière-plan à utiliser pour afficher le texte sélectionné. |
11 | selectmode Détermine le nombre d'éléments pouvant être sélectionnés et la manière dont les mouvements de la souris affectent la sélection -
|
12 | width La largeur du widget en caractères. La valeur par défaut est 20. |
13 | xscrollcommand Si vous souhaitez permettre à l'utilisateur de faire défiler la zone de liste horizontalement, vous pouvez lier votre widget de zone de liste à une barre de défilement horizontale. |
14 | yscrollcommand Si vous souhaitez permettre à l'utilisateur de faire défiler la zone de liste verticalement, vous pouvez lier votre widget de zone de liste à une barre de défilement verticale. |
Méthodes
Les méthodes sur les objets listbox incluent -
N ° Sr. | Option et description |
---|---|
1 | activate ( index ) Sélectionne la ligne spécifiée par l'index donné. |
2 | curselection() Renvoie un tuple contenant les numéros de ligne du ou des éléments sélectionnés, à partir de 0. Si rien n'est sélectionné, renvoie un tuple vide. |
3 | delete ( first, last=None ) Supprime les lignes dont les index sont dans la plage [first, last]. Si le deuxième argument est omis, la ligne unique avec l'index en premier est supprimée. |
4 | get ( first, last=None ) Renvoie un tuple contenant le texte des lignes avec des indices du premier au dernier inclus. Si le deuxième argument est omis, renvoie le texte de la ligne la plus proche du premier. |
5 | index ( i ) Si possible, positionne la partie visible de la listbox de sorte que la ligne contenant l'index i soit en haut du widget. |
6 | insert ( index, *elements ) Insérez une ou plusieurs nouvelles lignes dans la zone de liste avant la ligne spécifiée par index. Utilisez END comme premier argument si vous souhaitez ajouter de nouvelles lignes à la fin de la zone de liste. |
sept | nearest ( y ) Renvoie l'index de la ligne visible la plus proche de la coordonnée y y relative au widget listbox. |
8 | see ( index ) Ajustez la position de la zone de liste afin que la ligne référencée par index soit visible. |
9 | size() Renvoie le nombre de lignes dans la zone de liste. |
dix | xview() Pour rendre la zone de liste déroulante horizontalement, définissez l'option de commande de la barre de défilement horizontale associée sur cette méthode. |
11 | xview_moveto ( fraction ) Faites défiler la zone de liste de sorte que la fraction la plus à gauche de la largeur de sa ligne la plus longue soit à l'extérieur du côté gauche de la zone de liste. La fraction est dans la plage [0,1]. |
12 | xview_scroll ( number, what ) Fait défiler la zone de liste horizontalement. Pour l'argument what, utilisez soit UNITS pour faire défiler par caractères, soit PAGES pour faire défiler par pages, c'est-à-dire par la largeur de la zone de liste. L'argument numérique indique le nombre de défilement. |
13 | yview() Pour rendre la zone de liste déroulante verticalement, définissez l'option de commande de la barre de défilement verticale associée sur cette méthode. |
14 | yview_moveto ( fraction ) Faites défiler la zone de liste de sorte que la fraction supérieure de la largeur de sa ligne la plus longue se trouve à l'extérieur du côté gauche de la zone de liste. La fraction est dans la plage [0,1]. |
15 | yview_scroll ( number, what ) Fait défiler la zone de liste verticalement. Pour l'argument what, utilisez UNITS pour faire défiler par lignes ou PAGES pour faire défiler par pages, c'est-à-dire par la hauteur de la zone de liste. L'argument numérique indique le nombre de défilement. |
Exemple
Essayez vous-même l'exemple suivant -
from Tkinter import *
import tkMessageBox
import Tkinter
top = Tk()
Lb1 = Listbox(top)
Lb1.insert(1, "Python")
Lb1.insert(2, "Perl")
Lb1.insert(3, "C")
Lb1.insert(4, "PHP")
Lb1.insert(5, "JSP")
Lb1.insert(6, "Ruby")
Lb1.pack()
top.mainloop()
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -