1. A propos du widget Notebook de la bibliothèque Python Tkinter
- Le widget "Notebook": dans Tkinter est utilisé pour créer une interface utilisateur avec des onglets, similaire aux onglets dans un navigateur Web. Il permet d'organiser le contenu de manière logique et hiérarchique en regroupant différentes sections dans des onglets distincts.
- Le widget "Notebook": contient plusieurs pages, où chaque page est associée à un onglet. Chaque onglet peut contenir du texte, des images, d'autres widgets Tkinter ou tout autre contenu que vous souhaitez afficher. L'utilisateur peut naviguer entre les onglets en cliquant dessus pour afficher le contenu correspondant.
- Le widget "Notebook": offre des fonctionnalités pour ajouter, supprimer, masquer ou réorganiser les onglets. Vous pouvez également personnaliser l'apparence des onglets en modifiant les couleurs, les polices, les icônes, etc. Cela permet de créer une interface utilisateur flexible et conviviale.
- Le widget "Notebook": est particulièrement utile lorsque vous avez besoin de présenter différentes sections de contenu dans une seule fenêtre, tout en gardant l'interface propre et organisée. Il est couramment utilisé pour les applications de type éditeur de texte avec plusieurs onglets, les interfaces de configuration avec des paramètres regroupés par onglets, les explorateurs de fichiers avec des onglets pour différents dossiers, etc.
2. Syntaxe & usage du widget Notebook Tkinter
Voici la syntaxe générale pour créer et utiliser un widget "Notebook" dans Tkinter :
- Importez le module Tkinter :
1 2 |
import tkinter as tk from tkinter import ttk |
- Créez une instance de la fenêtre principale :
1 |
fenetre = tk.Tk() |
- Créez un widget "Notebook" :
1 |
notebook = ttk.Notebook(fenetre) |
- Créez des frames (cadres) pour chaque page de l'onglet :
1 2 3 |
frame1 = ttk.Frame(notebook) frame2 = ttk.Frame(notebook) frame3 = ttk.Frame(notebook) |
- Ajoutez les frames en tant que pages de l'onglet :
1 2 3 |
notebook.add(frame1, text="Page 1") notebook.add(frame2, text="Page 2") notebook.add(frame3, text="Page 3") |
Ajoutez d'autres widgets ou contenu à chaque frame :
1 2 3 4 5 6 7 8 |
label1 = ttk.Label(frame1, text="Contenu de la page 1") label1.pack() label2 = ttk.Label(frame2, text="Contenu de la page 2") label2.pack() label3 = ttk.Label(frame3, text="Contenu de la page 3") label3.pack() |
- Affichez le widget "Notebook" dans la fenêtre principale :
1 |
notebook.pack() |
- Lancez la boucle principale Tkinter pour afficher la fenêtre :
1 |
fenetre.mainloop() |
Code complet
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 31 32 33 34 35 36 |
import tkinter as tk from tkinter import ttk # Créez une instance de la fenêtre principale : fenetre = tk.Tk() fenetre.geometry("175x100") # Créez un widget "Notebook" via une instance de la classe Notebook : notebook = ttk.Notebook(fenetre) # Créez des cadres ou frames pour chaque page de l'onglet : frame1 = ttk.Frame(notebook) frame2 = ttk.Frame(notebook) frame3 = ttk.Frame(notebook) # Ajoutez les frames en tant que pages de l'onglet : notebook.add(frame1, text="Page 1") notebook.add(frame2, text="Page 2") notebook.add(frame3, text="Page 3") # Ajoutez d'autres widgets ou contenu à chaque frame : label1 = ttk.Label(frame1, text="Contenu de la page 1") label1.pack() label2 = ttk.Label(frame2, text="Contenu de la page 2") label2.pack() label3 = ttk.Label(frame3, text="Contenu de la page 3") label3.pack() # placer le widget "Notebook" dans la fenêtre principale : notebook.pack() fenetre.mainloop() |
3. Liste des méthodes associées au widget Notbook Tkinter
Un objet Notebook Tkinter est doté de nombreuses méthodes vous permettant de manipuler et de gérer dynamiquement les pages et les onglets dans le widget "Notebook" de Tkinter. Vous pouvez les utiliser pour ajouter, supprimer, masquer, sélectionner ou configurer les onglets selon les besoins de votre application. Voici quelques méthodes couramment utilisées associées au widget "Notebook" dans Tkinter :
- add(child, **kw) : Ajoute une nouvelle page (enfant) à l'onglet "Notebook". Le paramètre child est le widget ou le cadre à ajouter, et les autres paramètres (**kw) spécifient les options supplémentaires pour la page, telles que le texte de l'onglet, les icônes, etc.
- forget(index) : Masque une page spécifique de l'onglet "Notebook" en utilisant son index. L'index commence à partir de 0 pour la première page.
- insert(index, child, **kw) : Insère une nouvelle page (enfant) à une position spécifique dans l'onglet "Notebook". Le paramètre index spécifie la position d'insertion, et les autres paramètres (child et **kw) sont similaires à la méthode add().
- select(index) : Sélectionne une page spécifique de l'onglet "Notebook" en utilisant son index. Cela fait apparaître la page sélectionnée.
- tab(index, option=None, **kw) : Permet de configurer les options d'un onglet spécifique, identifié par son index. Les options peuvent inclure le texte de l'onglet, les icônes, les couleurs, etc.
- index(tab_id) : Renvoie l'index (position) d'un onglet spécifique, identifié par son tab_id.
- enable_traversal() : Active la navigation par clavier entre les onglets en utilisant la touche Tab.
- disable_traversal() : Désactive la navigation par clavier entre les onglets.
- select_next() : Sélectionne l'onglet suivant dans l'ordre.
- select_previous() : Sélectionne l'onglet précédent dans l'ordre.
Younes Derfoufi
CRMEF OUJDA