Python 3 - 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 -

  • BROWSE- Normalement, vous ne pouvez sélectionner qu'une seule ligne dans une zone de liste. Si vous cliquez sur un élément puis faites glisser sur une autre ligne, la sélection suivra la souris. C'est la valeur par défaut.
  • SINGLE - Vous ne pouvez sélectionner qu'une seule ligne et vous ne pouvez pas faire glisser la souris partout où vous cliquez sur le bouton 1, cette ligne est sélectionnée.
  • MULTIPLE- Vous pouvez sélectionner n'importe quel nombre de lignes à la fois. Cliquez sur n'importe quelle ligne pour activer ou non sa sélection.
  • EXTENDED - Vous pouvez sélectionner n'importe quel groupe de lignes adjacentes à la fois en cliquant sur la première ligne et en faisant glisser jusqu'à la dernière ligne.
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 par rapport au widget listbox.

8

see ( index )

Ajustez la position de la zone de liste pour 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 UNITS pour faire défiler par caractères ou 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 -

# !/usr/bin/python3
from tkinter import *

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()

Résultat

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -