Python - Barre de défilement Tkinter
Ce widget fournit un contrôleur de diapositives utilisé pour implémenter des widgets à défilement vertical, tels que Listbox, Text et Canvas. Notez que vous pouvez également créer des barres de défilement horizontales sur les widgets d'entrée.
Syntaxe
Voici la syntaxe simple pour créer ce widget -
w = Scrollbar ( 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 | activebackground La couleur du curseur et des pointes de flèche lorsque la souris les survole. |
2 | bg La couleur du curseur et des pointes de flèches lorsque la souris ne les survole pas. |
3 | bd La largeur des frontières 3D autour de tout le périmètre de l'auge, ainsi que la largeur des effets 3D sur les pointes de flèches et le curseur. La valeur par défaut est aucune bordure autour du creux et une bordure de 2 pixels autour des pointes de flèche et du curseur. |
4 | command Une procédure à appeler chaque fois que la barre de défilement est déplacée. |
5 | cursor Le curseur qui apparaît lorsque la souris se trouve sur la barre de défilement. |
6 | elementborderwidth La largeur des bordures autour des pointes de flèche et du curseur. La valeur par défaut est elementborderwidth = -1, ce qui signifie utiliser la valeur de l'option borderwidth. |
sept | highlightbackground La couleur de la mise en surbrillance du focus lorsque la barre de défilement n'a pas le focus. |
8 | highlightcolor La couleur de la mise en évidence du focus lorsque la barre de défilement a le focus. |
9 | highlightthickness L'épaisseur de la mise en évidence de la mise au point. La valeur par défaut est 1. Réglez sur 0 pour supprimer l'affichage de la mise en évidence de la mise au point. |
dix | jump Cette option contrôle ce qui se passe lorsqu'un utilisateur fait glisser le curseur. Normalement (jump = 0), chaque petit glissement du curseur provoque l'appel de la commande de rappel. Si vous définissez cette option sur 1, le rappel n'est pas appelé tant que l'utilisateur n'a pas relâché le bouton de la souris. |
11 | orient Définissez orient = HORIZONTAL pour une barre de défilement horizontale, orient = VERTICAL pour une barre verticale. |
12 | repeatdelay Cette option contrôle la durée pendant laquelle le bouton 1 doit être maintenu enfoncé dans le creux avant que le curseur ne commence à se déplacer dans cette direction à plusieurs reprises. La valeur par défaut est repeatdelay = 300 et les unités sont en millisecondes. |
13 | repeatinterval intervalle de répétition |
14 | takefocus Normalement, vous pouvez tabuler le focus via un widget de barre de défilement. Définissez takefocus = 0 si vous ne souhaitez pas ce comportement. |
15 | troughcolor La couleur de l'auge. |
16 | width Largeur de la barre de défilement (sa dimension y si horizontale et sa dimension x si verticale). La valeur par défaut est 16. |
Méthodes
Les objets de barre de défilement ont ces méthodes -
N ° Sr. | Méthode et description |
---|---|
1 | get() Renvoie deux nombres (a, b) décrivant la position actuelle du curseur. La valeur a donne la position du bord gauche ou supérieur du curseur, respectivement pour les barres de défilement horizontales et verticales; la valeur b donne la position du bord droit ou inférieur. |
2 | set ( first, last ) Pour connecter une barre de défilement à un autre widget w, définissez la commande xscroll ou yscroll de w sur la méthode set () de la barre de défilement. Les arguments ont la même signification que les valeurs renvoyées par la méthode get (). |
Exemple
Essayez vous-même l'exemple suivant -
from Tkinter import *
root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack( side = RIGHT, fill = Y )
mylist = Listbox(root, yscrollcommand = scrollbar.set )
for line in range(100):
mylist.insert(END, "This is line number " + str(line))
mylist.pack( side = LEFT, fill = BOTH )
scrollbar.config( command = mylist.yview )
mainloop()
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -