Exercice 24
Ecrire un script python tkinter qui ouvre un fichier texte avec le module filedialog et affiche son contenu sur un widget texte Tkinter, comme le montre la figure ci-dessous:
Solution
Pour résoudre cet exercice, on crée un script qui affiche une fenêtre Tkinter contenant un widget texte et un bouton "Ouvrir". Lorsque l'utilisateur clique sur le bouton "Ouvrir", un widget filedialog s'ouvre et permet de sélectionner un fichier texte. Si un fichier est sélectionné, le script lit son contenu et l'affiche dans le widget texte.
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 |
import tkinter as tk from tkinter import filedialog # Définition de la fonction qui ouvre le filedialog et récupère le chemin du fichier sélectionné def ouvrir_fichier(): chemin_fichier = filedialog.askopenfilename(initialdir = "/", title = "Sélectionner un fichier texte", filetypes = (("Fichiers texte", "*.txt"), ("Tous les fichiers", "*.*"))) if chemin_fichier: # Si un fichier a été sélectionné, on lit son contenu et on l'affiche dans le widget texte with open(chemin_fichier, "r") as fichier: contenu = fichier.read() zone_texte.delete("1.0", tk.END) # Efface le contenu précédent de la zone de texte zone_texte.insert("1.0", contenu) # Création de la fenêtre principale fenetre = tk.Tk() fenetre.title("Affichage de fichiers texte") # Création du widget texte zone_texte = tk.Text(fenetre) zone_texte.pack() # Création du bouton "Ouvrir" bouton_ouvrir = tk.Button(fenetre, text="Ouvrir un fichier", command=ouvrir_fichier) bouton_ouvrir.pack() # Boucle principale d'exécution fenetre.mainloop() |
Younes Derfoufi
CRMEF OUJDA
1 thought on “Solution Exercice 24: ouvrir un fichier texte sur une zone widget Text tkinter”