Python 3 - 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 (saut = 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 -

# !/usr/bin/python3
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()

Résultat

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