📌 MODULE CANVAS DE TKINTER
Le module `Canvas` de Tkinter permet de
dessiner des formes graphiques (lignes,
cercles, rectangles), d'afficher des images
ou du texte, et de créer des interfaces
personnalisées.
Principales méthodes :
- `create_line(x1, y1, x2, y2, options...)` :
tracer une ligne
- `create_rectangle(x1, y1, x2, y2,
options...)` : dessiner un rectangle
- `create_oval(x1, y1, x2, y2)` : dessiner
un cercle ou une ellipse
- `create_text(x, y, text="...")` : afficher
du texte
- `create_image(x, y, image=...)` : insérer
une image
- `delete(item_id)` : supprimer un élément
- `coords(item_id, x1, y1, ...)` : modifier
les coordonnées
- `move(item_id, dx, dy)` : déplacer un
élément
On utilise souvent `Canvas` pour créer :
- des éditeurs de dessin
- des jeux
- des visualisations interactives
(graphiques, chronogrammes...)
On peut aussi gérer les événements (clic,
drag, etc.) sur les éléments du `Canvas`.
---
📌 RELATION ENTRE POO ET TKINTER
Utiliser la programmation orientée objet
(POO) avec Tkinter permet de structurer
les applications graphiques efficacement.
Avantages :
- Organisation du code : chaque fenêtre ou
composant devient une classe
- Réutilisabilité : possibilité d’étendre ou
de réutiliser des composants
- Clarté : séparation des fonctionnalités
dans des classes/fichiers différents
Exemple simple :
```python
import tkinter as tk
class MonApp(tk.Tk):
def __init__(self):
super().__init__()
self.title("App POO")
self.bouton = tk.Button(self,
text="OK", command=self.action)
self.bouton.pack()
def action(self):
print("Bouton cliqué")
app = MonApp()
app.mainloop()
```
Structure courante :
- `class Application(tk.Tk)` : fenêtre
principale
- `class PageAccueil(tk.Frame)` : page
d’accueil
- `class Formulaire(tk.Frame)` : bloc de
saisie
On utilise souvent un **contrôleur** pour
changer de page ou partager des données
entre frames.
---