Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Utilisation de la Listbox en Tkinter
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement

Utilisation de la Listbox en Tkinter

L'Équipe Alphorm Par L'Équipe Alphorm 3 janvier 2025
Partager
Partager

Afficher et manipuler des listes d’éléments dans une interface graphique peut être complexe sans les bons outils.

Sans une méthode efficace, l’interactivité de votre application peut en pâtir, rendant l’expérience utilisateur moins fluide.

Dans cet article, nous explorons comment tirer parti du widget Listbox de Tkinter pour simplifier la gestion des listes d’éléments.

Table de matière
Créer une Listbox avec TkinterUtiliser insert() dans Tkinter Listboxselect_set() pour Listbox TkinterObtenir curselection() en ListboxSupprimer avec delete() en ListboxFAQConclusion

Formation Python : Interface Graphique TKinter

Créez des interfaces graphiques interactives avec Python et TKinter !

Découvrir cette formation

Le widget Listbox de Tkinter est l’un des outils les plus utilisés pour afficher une liste d’éléments dans une interface graphique. Il s’avère très pratique pour des cas d’utilisation où vous souhaitez permettre à l’utilisateur de sélectionner un ou plusieurs éléments d’une liste préalablement définie. Voici les étapes nécessaires pour manipuler une Listbox, en explorant les principales fonctionnalités telles que l’insertion , la sélection , l’affichage et la suppression d’éléments .

Créer une Listbox avec Tkinter

La première étape consiste à créer une Listbox. Lorsque vous créez une Listbox sans ajouter d’éléments, celle-ci apparaîtra comme un simple cadre vide dans l’interface. C’est un conteneur prêt à être rempli avec des informations pertinentes. Voici le code qui vous permet de faire ça :

				
					
 import tkinter as tk
# Création de la fenêtre principale
root = tk.Tk()
root.title("Exemple de Listbox")
# Création d'une Listbox
liste = tk.Listbox(root)
liste.pack()
# Démarrage de la boucle principale
root.mainloop()

				
			

Dans cet exemple, nous créons d’abord la fenêtre principale avec tk.Tk(), puis nous ajoutons une Listbox. Le widget est affiché grâce à la méthode pack() qui permet de positionner et d’afficher l’élément dans la fenêtre. En exécutant ce code, vous obtiendrez une fenêtre simple avec une Listbox vide comme il est montré dans la figure suivante :

Fenêtre avec Listbox créée en Tkinter

Figure 1 : Création d’une fenêtre Tkinter avec une Listbox simple

Utiliser insert() dans Tkinter Listbox

Une Listbox vide n’est d’aucune utilité. Il est donc nécessaire d’y ajouter des éléments. Pour ce faire, nous utilisons la méthode insert(), qui permet d’ajouter des éléments à un index spécifique de la Listbox. Par défaut, nous ajoutons ces éléments à la fin de la liste en utilisant l’argument tk.END . Voici un exemple d’utilisation de cette méthode :

				
					
 import tkinter as tk
# Création de la fenêtre principale
root = tk.Tk()
root.title("Exemple de Listbox")
# Création d'une Listbox
liste = tk.Listbox(root)
liste.pack()
# Création d'une liste d'éléments à ajouter
elements = ["Python", "Java", "C++", "JavaScript"]
# Ajout des éléments à la Listbox
for element in elements:
liste.insert(tk.END, element)
# Démarrage de la boucle principale
root.mainloop()

				
			

Ce morceau de code montre comment remplir une Listbox avec une liste d’éléments. Nous utilisons une boucle for pour parcourir la liste et insérer chaque élément à la fin de la Listbox à l’aide de tk.END . Lorsque vous exécutez ce code, la Listbox apparaîtra avec les éléments Python , Java , C++ , et JavaScript déjà remplis. L’utilisateur pourra faire défiler la liste pour visualiser les différentes options. Voici un aperçu de l’exécution de ce programme :

Interface Listbox de Tkinter avec code Python

select_set() pour Listbox Tkinter

L’intérêt d’une Listbox réside dans la possibilité de sélectionner un ou plusieurs éléments. Pour sélectionner un élément via le programme, vous pouvez utiliser la méthode select_set() , qui met en surbrillance l’élément d’un index donné.

				
					
 import tkinter as tk
# Création de la fenêtre principale
root = tk.Tk()
root.title("Exemple de Listbox")
# Création d'une Listbox
liste = tk.Listbox(root)
liste.pack()
# Création d'une liste d'éléments à ajouter
elements = ["Python", "Java", "C++", "JavaScript"]
# Ajout des éléments à la Listbox
for element in elements:
liste.insert(tk.END, element)
el=liste.select_set(0)# Sélectionne le premier élément
# Démarrage de la boucle principale
root.mainloop()

				
			

Ici, l’élément avec l’indice 0 (le premier élément) est sélectionné automatiquement dès l’affichage de la fenêtre comme il est montré dans la figure suivante :

Code Python utilisant Tkinter Listbox

Obtenir curselection() en Listbox

Récupérer l’élément sélectionné est essentiel pour pouvoir exploiter les données choisies par l’utilisateur. La méthode curselection() renvoie l’indice de l’élément sélectionné, tandis que get() permet de récupérer la valeur associée à cet indice.

				
					
 import tkinter as tk
# Création de la fenêtre principale
root = tk.Tk()
root.title("Exemple de Listbox")
# Création d'une Listbox
liste = tk.Listbox(root)
liste.pack()
# Création d'une liste d'éléments à ajouter
elements = ["Python", "Java", "C++", "JavaScript"]
# Ajout des éléments à la Listbox
for element in elements:
liste.insert(tk.END, element)
defafficher_selection():
selection = liste.get(liste.curselection())# Récupère l'élément sélectionné
print("Élément sélectionné :", selection)
# Création d'un bouton pour afficher la sélection
btn_afficher = tk.Button(root,text="Afficher sélection",command=afficher_selection)
btn_afficher.pack()
root.mainloop()

				
			

Dans cet exemple, un bouton est créé pour déclencher l’affichage de l’élément sélectionné dans la console lorsque l’utilisateur clique dessus. La méthode curselection() renvoie l’indice, et get() renvoie la valeur correspondante. Si vous exécutez ce code et sélectionnez un élément puis vous faite un clic sur le bouton Afficher cela affichera le texte correspondant dans la console comme il est montré dans la figure suivante :

Script démontrant l'utilisation de Tkinter Listbox

Supprimer avec delete() en Listbox

La suppression d’un élément sélectionné est une autre fonctionnalité courante. La méthode delete() permet de retirer un élément de la Listbox, et elle peut être combinée avec curselection() pour supprimer l’élément sélectionné par l’utilisateur comme il est montré dans le code suivant :

				
					
 import tkinter as tk
# Création de la fenêtre principale
root = tk.Tk()
root.title("Exemple de Listbox")
# Création d'une Listbox
liste = tk.Listbox(root)
liste.pack()
# Création d'une liste d'éléments à ajouter
elements = ["Python", "Java", "C++", "JavaScript"]
# Ajout des éléments à la Listbox
for element in elements:
liste.insert(tk.END, element)
defsupprimer_selection():
liste.delete(liste.curselection())# Supprime l'élément sélectionné
# Création d'un bouton pour supprimer l'élément sélectionné
btn_supprimer = tk.Button(root,text="Supprimer sélection",command=supprimer_selection)
btn_supprimer.pack()
root.mainloop()

				
			

Lorsque vous sélectionnez un élément et cliquez sur « Supprimer sélection », cet élément disparaît de la Listbox, rendant la liste dynamique et interactive.

Exemple de Listbox en Tkinter avec code Python

Dans cet exemple, après avoir initialisé la Listbox avec les options Python , Java , C++ , et JavaScript , nous avons sélectionné et supprimé l’option Python . La liste mise à jour n’affiche désormais plus Python , et seules les options Java , C++ , et JavaScript restent dans la Listbox .

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Comment créer une Listbox en Tkinter ?
Pour créer une Listbox en Tkinter, commencez par initialiser une fenêtre principale avec tk.Tk(). Ajoutez ensuite une Listbox à cette fenêtre en utilisant tk.Listbox(), puis positionnez-la avec la méthode pack(). Ce procédé permettra d’afficher une Listbox vide prête à être remplie avec des éléments. Le code d’exemple montre comment créer une fenêtre intitulée ‘Exemple de Listbox’ avec une Listbox vide visible pour l’utilisateur dès le lancement du programme.
Comment ajouter des éléments à une Listbox en Tkinter ?
Pour ajouter des éléments à une Listbox en Tkinter, utilisez la méthode insert(). Vous pouvez insérer chaque élément à un index spécifique ou à la fin de la liste avec tk.END. Par exemple, pour ajouter les langages ‘Python’, ‘Java’, ‘C++’, et ‘JavaScript’, parcourez la liste d’éléments et insérez-les un par un. Cela permet de remplir la Listbox avec des options que l’utilisateur pourra sélectionner, comme illustré dans le code fourni.
Comment sélectionner un élément dans une Listbox avec Tkinter ?
Pour sélectionner un élément dans une Listbox, utilisez la méthode select_set(index). Cette méthode met en surbrillance l’élément à l’index spécifié, permettant ainsi de pré-sélectionner un élément dès l’exécution du programme. Par exemple, pour sélectionner automatiquement le premier élément, appelez liste.select_set(0). Cela améliore l’interactivité en guidant l’utilisateur sur un choix par défaut dès l’ouverture de l’interface.
Comment récupérer l'élément sélectionné dans une Listbox ?
Pour récupérer l’élément sélectionné dans une Listbox, utilisez les méthodes curselection() et get(). curselection() renvoie l’indice de l’élément sélectionné, tandis que get() retourne la valeur de cet indice. Vous pouvez ainsi afficher ou traiter la sélection de l’utilisateur. Par exemple, un bouton peut être configuré pour afficher l’élément choisi dans la console, offrant une interactivité immédiate.
Comment supprimer un élément sélectionné dans une Listbox ?
Pour supprimer un élément sélectionné dans une Listbox, combinez les méthodes curselection() et delete(). curselection() identifie l’élément sélectionné via son indice, et delete() le retire de la liste. Cette fonctionnalité rend la Listbox dynamique, permettant à l’utilisateur de modifier la liste selon ses besoins. Par exemple, un bouton peut être utilisé pour supprimer l’élément en surbrillance, actualisant ainsi instantanément l’affichage de la liste.

Conclusion

La Listbox de Tkinter est un outil puissant pour gérer des listes d’éléments dans une interface graphique. Quelle autre fonctionnalité de Tkinter souhaiteriez-vous explorer pour enrichir vos applications Python ?

ÉTIQUETÉ : Python
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Utilisation de la Listbox en Tkinter

© Alphorm - Tous droits réservés