« Python : Tkinter » : différence entre les versions

De www.yakakliker.org
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 12 : Ligne 12 :
* '''Listbox''' : Une zone pour afficher notre liste d'invités.
* '''Listbox''' : Une zone pour afficher notre liste d'invités.


=== Exemple ===
<syntaxhighlight lang="python3">
import tkinter as tk
def dire_bonjour():
    nom = entree.get() # On récupère le texte de la saisie
    label_resultat.config(text=f"Bonjour {nom} !")
# 1. Création de la fenêtre
fenetre = tk.Tk()
fenetre.title("Mon Premier Programme")
fenetre.geometry("300x200")
# 2. Ajout des composants
label_instruction = tk.Label(fenetre, text="Entrez votre nom :")
label_instruction.pack(pady=10)
entree = tk.Entry(fenetre)
entree.pack()
bouton = tk.Button(fenetre, text="Valider", command=dire_bonjour)
bouton.pack(pady=10)
label_resultat = tk.Label(fenetre, text="")
label_resultat.pack()
# 3. Lancement de la boucle principale
fenetre.mainloop()
</syntaxhighlight>
==== Analyse factuelle du fonctionnement ====
* '''<code>.pack()</code>''' : C'est un gestionnaire de géométrie. Il place les éléments les uns en dessous des autres.
* '''<code>command=dire_bonjour</code>''' : On lie le bouton à une fonction. Notez qu'on ne met pas de parenthèses <code>()</code> à la fonction ici, car on veut que le bouton l'appelle ''plus tard'', au moment du clic.
* '''<code>.mainloop()</code>''' : Cette ligne est cruciale. Elle empêche la fenêtre de se fermer immédiatement et permet à Python d'écouter les clics de souris.


[[Catégorie:Python]]
[[Catégorie:Python]]
[[Catégorie:Scripts]]
[[Catégorie:Scripts]]

Version du 21 janvier 2026 à 15:03

Passer de la console à une interface graphique (GUI) est une étape passionnante. En Python, l'outil standard inclus par défaut s'appelle Tkinter.

Contrairement à un script classique qui s'exécute de haut en bas, une interface graphique fonctionne avec une boucle d'événements (event loop) : le programme "attend" que l'utilisateur clique sur un bouton ou tape du texte.

Les concepts de base de Tkinter

Pour créer une fenêtre, nous manipulons des Widgets (composants graphiques) :

  • Tk : La fenêtre principale.
  • Label : Un texte affiché.
  • Entry : Un champ de saisie de texte.
  • Button : Un bouton cliquable.
  • Listbox : Une zone pour afficher notre liste d'invités.

Exemple

import tkinter as tk

def dire_bonjour():
    nom = entree.get() # On récupère le texte de la saisie
    label_resultat.config(text=f"Bonjour {nom} !")

# 1. Création de la fenêtre
fenetre = tk.Tk()
fenetre.title("Mon Premier Programme")
fenetre.geometry("300x200")

# 2. Ajout des composants
label_instruction = tk.Label(fenetre, text="Entrez votre nom :")
label_instruction.pack(pady=10)

entree = tk.Entry(fenetre)
entree.pack()

bouton = tk.Button(fenetre, text="Valider", command=dire_bonjour)
bouton.pack(pady=10)

label_resultat = tk.Label(fenetre, text="")
label_resultat.pack()

# 3. Lancement de la boucle principale
fenetre.mainloop()

Analyse factuelle du fonctionnement

  • .pack() : C'est un gestionnaire de géométrie. Il place les éléments les uns en dessous des autres.
  • command=dire_bonjour : On lie le bouton à une fonction. Notez qu'on ne met pas de parenthèses () à la fonction ici, car on veut que le bouton l'appelle plus tard, au moment du clic.
  • .mainloop() : Cette ligne est cruciale. Elle empêche la fenêtre de se fermer immédiatement et permet à Python d'écouter les clics de souris.