1. A propos du widget Scrollbar de Tkinter
Le widget Scrollbar de Tkinter est un composant graphique qui permet de créer des barres de défilement verticales ou horizontales dans une interface utilisateur. Ces barres de défilement sont utilisées pour faire défiler du contenu qui ne peut pas être entièrement affiché à l'écran.
Le widget Scrollbar de Tkinter peut être associé à d'autres widgets tels que les listes déroulantes (Listbox), les zones de texte (Text), les canevas (Canvas) ou les fenêtres de texte (Text widget) pour permettre aux utilisateurs de faire défiler le contenu de manière fluide.
Le widget Scrollbar lui-même n'affiche pas le contenu, il agit plutôt comme une interface de contrôle pour le défilement. Lorsqu'il est associé à un widget, il est généralement placé à côté ou en dessous du widget principal.
Le widget Scrollbar de Tkinter propose différentes options et méthodes pour personnaliser son apparence et son comportement. Par exemple, vous pouvez définir la taille de la barre de défilement, la couleur de fond, la sensibilité du défilement, etc.
2. Syntaxe et usage du widget Scrollbar
Le widget Scrollbar est généralement utilisé en association avec d'autres widgets tels que Listbox, Text, Canvas, ou Text widget pour permettre le défilement du contenu. Voici la syntaxe générale pour créer un widget Scrollbar dans Tkinter:
1 |
scrollbar = tkinter.Scrollbar(parent, options...) |
- parent: est le widget parent dans lequel vous souhaitez placer le widget Scrollbar. Il peut s'agir d'une fenêtre principale (Tk) ou d'un autre widget Tkinter.
- options: permet d'ajouter des options au widget Scrollbar comme l'orientation, background...
Vous pouvez également spécifier différentes options pour personnaliser le widget Scrollbar. Voici quelques options courante:
- orient : spécifie l'orientation de la barre de défilement, soit "vertical" ou "horizontal".
- command : spécifie la méthode ou la fonction qui sera appelée lorsque la barre de défilement est déplacée. Cette méthode doit être capable de mettre à jour la position du widget associé au Scrollbar.
- bg : spécifie la couleur de fond du widget Scrollbar.
- width : spécifie la largeur du widget Scrollbar.
- highlightthickness : spécifie l'épaisseur du contour du widget Scrollbar.
Après avoir créé le widget Scrollbar, vous pouvez l'associer à un autre widget en utilisant la méthode appropriée du widget principal. Par exemple, pour associer un Scrollbar à un Listbox:
1 2 |
listbox = tkinter.Listbox(parent, yscrollcommand=scrollbar.set) scrollbar.config(command=listbox.yview) |
Dans cet exemple:
- le paramètre yscrollcommand du Listbox: est utilisé pour spécifier la méthode set du Scrollbar.
- Ensuite, la méthode config du Scrollbar: est utilisée pour spécifier la méthode yview du Listbox en tant que commande de défilement.
Une fois que le Scrollbar est associé, il réagira aux interactions de l'utilisateur, permettant de faire défiler le contenu du widget principal.
Exemple
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import tkinter as tk programming = ['Java', 'Python', 'C++', 'C#', 'JavaScript', 'NodeJS', 'Kotlin', 'VB.Net', 'MySql', 'SQLite'] # Création de la fenêtre principale window = tk.Tk() window.title("Exemple de Scrollbar") window.geometry("275x100") # Création du widget Listbox listbox = tk.Listbox(window) # Création du widget Scrollbar scrollbar = tk.Scrollbar(window) # Configuration de la relation entre le Listbox et le Scrollbar listbox.config(yscrollcommand=scrollbar.set) scrollbar.config(command=listbox.yview) # Ajout des éléments à la liste for item in programming: listbox.insert(tk.END, item) # Placement des widgets dans la fenêtre listbox.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) scrollbar.pack(side=tk.RIGHT, fill=tk.Y) # Lancement de la boucle principale window.mainloop() |
Dans cet exemple:
- import tkinter as tk: permet l'importation du module Tkinter sous l'alias tk.
- Nous définissons une liste programming: contenant des langages de programmation qu'on souhaite défiler.
- window = tk.Tk(): permet de créer la fenêtre principale.
- listbox = tk.Listbox(window): est utiliser pour créer un widget Listbox
- scrollbar = tk.Scrollbar(window): permet de créer un widget Scrollbar en utilisant la fenêtre principale comme parent.
- Ensuite, nous configurons: la relation entre le Listbox et le Scrollbar. Nous utilisons la méthode config pour spécifier que le Listbox doit utiliser la méthode set du Scrollbar pour la commande de défilement (yscrollcommand). Et nous utilisons la méthode config sur le Scrollbar pour spécifier que la méthode yview du Listbox doit être utilisée comme commande du Scrollbar.
- listbox.insert(tk.END, item): ajoute les éléments de la liste programming à l'objet listbox
- La méthode pack(): est utilisée pour placer le Listbox à gauche et le Scrollbar à droite.
Lorsque vous exécutez ce code, une fenêtre s'ouvrira avec un Listbox affichant les langages de programmation et un Scrollbar sur le côté droit. Vous pourrez faire défiler les éléments du Listbox à l'aide du Scrollbar si le contenu dépasse la taille du Listbox visible à l'écran.
3. Liste des méthodes associées à l'objet Scrollbar Tkinter
Un objet Scrollbar de Tkinter est doté de nombreuses méthodes qui permettent d'améliorer son apparence et ses fonctionalités. Voici une liste des méthodes associées à l'objet Scrollbar dans Tkinter :
- config(**options): Permet de configurer les options du widget Scrollbar en utilisant un dictionnaire d'options.
- get(): Récupère la valeur actuelle du Scrollbar. Cela peut être utilisé pour récupérer la position du défilement.
- set(*args): Définit la position du défilement. Vous pouvez utiliser cette méthode pour définir la position du défilement manuellement.
- activate(index): Active l'élément à l'index spécifié dans le widget Scrollbar.
- delta(mode, value): Déplace le défilement par un delta spécifié.
- fraction(x, y): Définit la position du défilement en utilisant des coordonnées fractionnelles.
- identify(x, y): Identifie l'élément sous les coordonnées spécifiées (x, y).
- nearest(y): Renvoie l'élément le plus proche des coordonnées spécifiées en y.
- set(first, last): Définit la position du défilement entre les deux valeurs spécifiées.
- size(index): Renvoie la taille de l'élément à l'index spécifié.
- activate(element): Active l'élément spécifié dans le widget Scrollbar.
- fractional(what): Renvoie la position du défilement sous forme fractionnaire.
Ces méthodes vous permettent de contrôler le comportement du widget Scrollbar et d'interagir avec lui pour définir ou récupérer la position du défilement, activer des éléments spécifiques, etc. Pour plus de détails, consulter la documentation officielle de Tkinter pour plus de détails sur l'utilisation de ces méthodes : https://docs.python.org/3/library/tkinter.html#scrollbar
Younes Derfoufi
CRMEF OUJDA