Avez-vous une question? (216) 97 656 803 hajjriadh@gmail.com
Python

Correction exercice Tkinter avec classe 02

Un cours complet pour maîtriser Correction exercice Tkinter avec classe 02.

0 chapitres 0 QCM Accès gratuit
  1. Objectifs

    • Etre capable de programmer des applications tkinter avec des classes
  2. Rappel

    • Ce projet a pour but de découvrir la programmation en Python utilisant une interface graphique.
    • Il existe plusieurs modules Python permettant d’exploiter les interfaces graphiques.
    • Le plus simple est le module tkinter présent lors de l’installation du langage Python.
    • On utilisera l'environnement idle (version 3.8.5) pour coder en Python.
    • L'objectif de ce TP est de vous amener à développer un interface graphique en Python, basée sur le package Tkinter.
    • Cette bibliothèque est un pont (une façade) vers l'interface graphique Tk, qui était l'interface d'un autre langage de script connu nommé Tcl.
    • Au bout de ce TP, vous aurez une calculatrice simple.
    • Une autre façon de faire de la mise en page est d'utiliser la méthode grid plutôt que pack ou place. Cette fois-ci, on place les composants dans un conteneur simplement en précisant à quelle ligne et à quelle colonne on les place.
    • Le widget Entry est un widget Tkinter standard utilisé pour saisir ou afficher une seule ligne de texte.
    • Le texte est affiché dans une police de caractère "Font" et de taille 20. (font=("Courier", 20)).
    • Pour récupérer le texte actuel de l'entrée, utilisez la méthode get:
    • s = e.get ()
    • Vous pouvez également lier le widget d'entrée à une instance de StringVar et définir ou obtenir le texte de l'entrée via cette variable:
    • v = StringVar () e = Entrée (maître, variable text = v) e.pack ()
    • Vous pouvez choisir entre les deux méthodes suivantes pour définir le texte d'un Entrywidget. Pour les exemples, supposons la bibliothèque importée import tkinter as tket la fenêtre racine root = tk.Tk().
    • Utiliser delete et insert
      • Widget Entry fournit des méthodes delete et insert qui peuvent être utilisées pour définir son texte sur une nouvelle valeur.
      • Tout d' abord, vous devrez enlever tout ancien, ancien texte de Entry avec delete qui a besoin des positions où commencer et terminer la suppression.
      • Puisque nous voulons supprimer l'ancien texte complet, nous commençons 0et finissons à l'endroit où se trouve actuellement la fin.
      • Nous pouvons accéder à cette valeur via END. Ensuite, le Entry est vide et nous pouvons insérer new_text à la position 0.
      entry = tk.Entry(root)
      new_text = "Example text"
      entry.delete(0, tk.END)
      entry.insert(0, new_text)
  3. Utilisation StringVar
    • Vous devez créer un nouvel objet StringVar appelé entry_text dans l'exemple.
    • En outre, votre widget Entry doit être créé avec un argument de mot-clé textvariable.
    • Ensuite, chaque fois que vous changez entry_text avec set, le texte apparaîtra automatiquement dans le widget Entry.
    entry_text = tk.StringVar()
    entry = tk.Entry(root, textvariable=entry_text)
    new_text = "Example text"
    entry_text.set(new_text)
  4. Exemple
    import tkinter as tk
    
    def button_1_click():
        # define new text (you can modify this to your needs!)
        new_text = "Button 1 clicked!"
        # delete content from position 0 to end
        entry.delete(0, tk.END)
        # insert new_text at position 0
        entry.insert(0, new_text)
    
    def button_2_click():
        # define new text (you can modify this to your needs!)
        new_text = "Button 2 clicked!"
        # set connected text variable to new_text
        entry_text.set(new_text)
    
    root = tk.Tk()
    
    entry_text = tk.StringVar()
    entry = tk.Entry(root, textvariable=entry_text)
    
    button_1 = tk.Button(root, text="Button 1", command=button_1_click)
    button_2 = tk.Button(root, text="Button 2", command=button_2_click)
    
    entry.pack(side=tk.TOP)
    button_1.pack(side=tk.LEFT)
    button_2.pack(side=tk.LEFT)
    
    root.mainloop()
  5. Exercice 04

    1. Énoncé
    2. Correction
  6. Exercice 02

    1. Énoncé
    2. Solution
  7. Exercice 03

    1. Énoncé
    2. Solution