Python GUI Programming

Maîtriser les barres de menus Tkinter : Guide complet

Spread the love

Ce tutoriel vous guide dans la création et l’utilisation de barres de menus dans Tkinter, une bibliothèque Python pour la construction d’interfaces graphiques utilisateur (GUI). Une familiarité préalable avec les widgets Tkinter de base (comme les frames et les labels) est bénéfique.

Table des matières

  1. Création d’une barre de menus basique
  2. Ajout de fonctionnalités aux éléments de menu
  3. Techniques avancées de barres de menus (Facultatif)

1. Création d’une barre de menus basique

Commençons par construire une barre de menus simple avec un menu « Fichier », comportant les options « Nouveau », « Ouvrir » et « Quitter ». Cet exemple initial se concentre uniquement sur la structure visuelle ; les éléments de menu n’effectueront pas encore d’actions.


import tkinter as tk

root = tk.Tk()
root.title("Exemple de barre de menus Tkinter")

menubar = tk.Menu(root)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="Nouveau")
filemenu.add_command(label="Ouvrir")
filemenu.add_separator()
filemenu.add_command(label="Quitter")
menubar.add_cascade(label="Fichier", menu=filemenu)
root.config(menu=menubar)

root.mainloop()

Ce code crée la fenêtre principale (root), la barre de menus et le menu « Fichier ». tearoff=0 empêche le menu de se détacher. add_command ajoute des éléments de menu, add_separator insère un séparateur visuel, et add_cascade intègre le menu « Fichier » dans la barre de menus. root.config(menu=menubar) affiche la barre de menus.

2. Ajout de fonctionnalités aux éléments de menu

Maintenant, améliorons les éléments de menu avec des fonctionnalités. Nous allons connecter la commande « Quitter » pour fermer l’application et ajouter des actions pour « Nouveau » et « Ouvrir ».


import tkinter as tk

def new_file():
    print("Action Nouveau fichier déclenchée !")

def open_file():
    print("Action Ouvrir fichier déclenchée !")

def exit_app():
    root.destroy() # Meilleure pratique que root.quit()

root = tk.Tk()
root.title("Exemple de barre de menus Tkinter avec commandes")

menubar = tk.Menu(root)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="Nouveau", command=new_file)
filemenu.add_command(label="Ouvrir", command=open_file)
filemenu.add_separator()
filemenu.add_command(label="Quitter", command=exit_app)
menubar.add_cascade(label="Fichier", menu=filemenu)
root.config(menu=menubar)

root.mainloop()

Le code définit les fonctions new_file, open_file et exit_app. Ces fonctions sont liées aux éléments de menu via l’argument command. Cliquer sur « Nouveau » ou « Ouvrir » déclenchera désormais la fonction respective ; « Quitter » fermera l’application. N’oubliez pas de remplacer les instructions print par défaut par vos fonctionnalités souhaitées. Par exemple, vous pouvez lier « Ouvrir » à une boîte de dialogue de fichier.

3. Techniques avancées de barres de menus (Facultatif)

Pour créer des applications plus complexes et conviviales, considérez ces techniques avancées :

  • Sous-menus : Créez des menus imbriqués pour une meilleure organisation.
  • Éléments de menu à bouton-coche : Permettez aux utilisateurs d’activer ou de désactiver les options.
  • Éléments de menu à bouton radio : Proposez des choix mutuellement exclusifs.
  • Raccourcis clavier : Attribuez des raccourcis clavier aux éléments de menu pour un accès plus rapide (à l’aide des options underline et accelerator dans add_command).
  • Gestion des événements : Utilisez des techniques de gestion des événements plus sophistiquées pour gérer les interactions de l’utilisateur.

Explorez la documentation de Tkinter pour des informations détaillées sur ces fonctionnalités avancées.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *