Exercice 10
Ecrire un programme en Python qui crée une classe nommée WindowTK permettant de générer une fenêtre tkinter ayant comme attributs:
- title: titre de la fenêtre
- largeur : largeur de la fenêtre
- hauteur: hauteur de la fenêtre
La classe doit contenir :
- Une méthode nommée display(): qui affiche la fenêtre,
- Une méthode resize(): permettant de redimensionner la fenêtre,
- Une methode addButton(): qui ajoute un widget button,
- Une méthode addEntry(): qui ajoute un champ de saisie Entry(),
- Une méthode addLabel(): qui ajoute un Label.
Donner ensuite un exemple d'usage de la classe WindowTK qui affiche une fenêtre qui demande à l'utilisateur de saisir son nom et de lui afficher un message: "Bienvenu [nom]"
Solution
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 37 38 39 40 41 42 43 |
import tkinter as tk class WindowTK: def __init__(self, title, width, height): self.title = title self.width = width self.height = height self.window = tk.Tk() self.window.title(self.title) self.window.geometry(f"{self.width}x{self.height}") def display(self): self.window.mainloop() def resize(self, width, height): self.width = width self.height = height self.window.geometry(f"{self.width}x{self.height}") def addButton(self, text, callback, row, column): button = tk.Button(self.window, text=text, command=callback) button.grid(row=row, column=column) def addEntry(self, row, column): entry = tk.Entry(self.window) entry.grid(row=row, column=column) return entry def addLabel(self, text, row, column): label = tk.Label(self.window, text=text) label.grid(row=row, column=column) # Exemple d'utilisation def welcome_message(): name = entry_name.get() message = f"Bienvenue {name}!" window.addLabel(message, 3, 0) window = WindowTK("Ma fenêtre", 400, 300) window.addLabel("Veuillez saisir votre nom :", 0, 0) entry_name = window.addEntry(0, 1) window.addButton("Afficher le message", welcome_message, 1, 0) window.display() |
Explication du code:
- La méthode __init__() : définit le constructeur de la classe ayant les attributs de la fenêtre tkinter.
- Les méthodes display(), resize(), addButton() et addEntry(): sont utilisées pour afficher la fenêtre, redimensionner la fenêtre, ajouter un bouton et ajouter un champ de saisie respectivement.
- L'exemple d'utilisation: montre comment créer une instance de WindowTK, ajouter un bouton avec un gestionnaire d'événements et ajouter un champ de saisie à la fenêtre, puis afficher la fenêtre à l'aide de la méthode display.
- Lorsque le bouton est cliqué : il exécute la fonction welcome_message, qui récupère le nom saisi par l'utilisateur, crée un message de bienvenue et utilise la méthode addLabel pour afficher ce message dans la fenêtre.
Younes Derfoufi
CRMEF OUJDA
Acheter sur Très Facile !
-
Python Programming Step-By-Step : Python Object-Oriented Programming
€ 13,00 Buy Now -
Routeur Tenda avec Carte SIM 4G09 AC1200 Bi- bandd 4G + Cat6 300Mbps, Connectivité Jusqu'à 64 Appareils
€ 89,00 Acheter le produit -
Débutant en Python : Programmer un réseau neuronal en 7 jours
€ 17,00 Acheter le livre