Recherche de site Web

Comment afficher différentes images en utilisant la fonction grille avec Tkinter ?


La bibliothèque tkinter de Python est un outil puissant et polyvalent pour créer des interfaces utilisateur graphiques (GUI). L'une de ses fonctionnalités clés est la possibilité d'afficher des images, et la fonction de grille est un excellent moyen d'organiser et d'afficher plusieurs images dans un format de type grille. Dans cet article, nous allons explorer comment utiliser la fonction de grille de tkinter pour afficher différentes images.

Étape 1 : Importez les bibliothèques nécessaires

Pour commencer, nous devons importer les bibliothèques tkinter et PIL (Python Imaging Library). PIL est utilisé pour charger et manipuler des fichiers image en Python.


import tkinter as tk
from PIL import ImageTk, Image

Étape 2 : Créer une fenêtre Tkinter

Ensuite, nous allons créer une fenêtre tkinter pour afficher les images. Nous allons définir la taille de la fenêtre et lui donner un titre.


root = tk.Tk()
root.geometry("720x500")
root.title("Display Images using Grid Function")

Étape 3 : Charger les images

Maintenant, nous devons charger les images que nous voulons afficher dans la grille. Nous utiliserons le module ImageTk de PIL pour charger les images et les convertir dans un format que tkinter peut afficher.


image1 = Image.open(r"C:\Users\Leekha\Desktop\images\Monkey.jpg")
image1 = image1.resize((240, 240))
image1 = ImageTk.PhotoImage(image1)

image2 = Image.open(r"C:\Users\Leekha\Desktop\images\Panda.jpg")
image2 = image2.resize((240, 240))
image2 = ImageTk.PhotoImage(image2)

image3 = Image.open(r"C:\Users\Leekha\Desktop\images\Elephant.jpg")
image3 = image3.resize((240, 240))
image3 = ImageTk.PhotoImage(image3)

image4 = Image.open(r"C:\Users\Leekha\Desktop\images\Lion.jpg")
image4 = image4.resize((240, 240))
image4 = ImageTk.PhotoImage(image4)

Dans cet exemple, nous chargeons quatre images nommées Monkey.jpg, Panda.jpg, Elephant.jpg et Lion.jpg. Nous redimensionnons également les images à une largeur et une hauteur de 240 pixels pour garantir qu'elles aient toutes la même taille.

Étape 4 : Créer des étiquettes pour les images

Ensuite, nous créerons des étiquettes pour chacune des images. Les étiquettes sont utilisées pour afficher du texte ou des images dans une fenêtre tkinter.


label1 = tk.Label(image=image1)
label2 = tk.Label(image=image2)
label3 = tk.Label(image=image3)
label4 = tk.Label(image=image4)

Nous créons quatre étiquettes, une pour chaque image, et définissons le paramètre d'image de chaque étiquette sur l'image correspondante que nous avons chargée à l'étape précédente.

Étape 5 : Afficher les étiquettes à l'aide de la fonction Grille

Enfin, nous utiliserons la fonction de grille pour afficher les étiquettes sous forme de grille. La fonction de grille est utilisée pour organiser les widgets dans une structure de type tableau avec des lignes et des colonnes.


label1.grid(row=0, column=0)
label2.grid(row=0, column=1)
label3.grid(row=1, column=0)
label4.grid(row=1, column=1)

Dans cet exemple, nous utilisons la fonction de grille pour afficher les étiquettes dans une grille 2x2. La première étiquette (étiquette1) est placée dans la ligne 0, colonne 0, la deuxième étiquette (étiquette2) est placée dans la ligne 0, colonne 1, la troisième étiquette (étiquette3) est placée dans la ligne 1, colonne 0 et la quatrième étiquette ( label4) est placé dans la ligne 1, colonne 1.

Étape 6 : Exécutez le programme

Nous sommes maintenant prêts à exécuter le programme et à voir les images affichées dans la fenêtre tkinter.


root.mainloop()

Cette ligne de code est utilisée pour démarrer la boucle d'événements tkinter et garder la fenêtre ouverte et réactive aux interactions de l'utilisateur.

Exemple

Voyons le code complet et sa sortie -


import tkinter as tk
from PIL import ImageTk, Image
root = tk.Tk()
root.geometry("720x500")
root.title("Display Images using Grid Function")
image1 = Image.open(r"C:\Users\Leekha\Desktop\images\Monkey.jpg")
image1 = image1.resize((240, 240))
image1 = ImageTk.PhotoImage(image1)

image2 = Image.open(r"C:\Users\Leekha\Desktop\images\Panda.jpg")
image2 = image2.resize((240, 240))
image2 = ImageTk.PhotoImage(image2)

image3 = Image.open(r"C:\Users\Leekha\Desktop\images\Elephant.jpg")
image3 = image3.resize((240, 240))
image3 = ImageTk.PhotoImage(image3)

image4 = Image.open(r"C:\Users\Leekha\Desktop\images\Lion.jpg")
image4 = image4.resize((240, 240))
image4 = ImageTk.PhotoImage(image4)

label1 = tk.Label(image=image1)
label2 = tk.Label(image=image2)
label3 = tk.Label(image=image3)
label4 = tk.Label(image=image4)

label1.grid(row=0, column=0)
label2.grid(row=0, column=1)
label3.grid(row=1, column=0)
label4.grid(row=1, column=1)
root.mainloop()

Sortir

Lorsque nous exécutons ce code, nous devrions voir une fenêtre tkinter affichant quatre images dans une grille, comme indiqué ci-dessous -

Conclusion

Pour résumer, cet article a montré comment utiliser la bibliothèque tkinter de Python pour créer une interface graphique qui affiche plusieurs images sous forme de grille. En utilisant la bibliothèque PIL pour charger et redimensionner les images et la fonction de grille pour les organiser, nous avons pu créer une interface visuellement attrayante et intuitive. Grâce à ces connaissances, les développeurs peuvent créer des interfaces graphiques plus complexes et interactives intégrant des images, permettant aux utilisateurs d'interagir avec le logiciel de manière plus naturelle et intuitive.

Que vous construisiez une galerie de photos, un catalogue de produits ou tout autre type d'application nécessitant l'affichage d'images, les techniques présentées dans cet article constitueront une base solide pour atteindre vos objectifs. Dans l'ensemble, la fonction de grille et les capacités de manipulation d'images de tkinter fournissent une boîte à outils puissante pour créer des interfaces graphiques riches et dynamiques.

Articles connexes