Texte dans un label tkinter pas correctement mis à jour
Résolu/Fermé- Texte dans un label tkinter pas correctement mis à jour
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Mise a jour kindle - Guide
- Mise a jour windows 7 - Accueil - Mise à jour
2 réponses
Modifié le 24 févr. 2023 à 03:38
Bonjour,
C'est parce que tu ne dois pas recréer le Label, tu dois simplement corriger le texte du label existant. Cet exemple illustre comment faire. Il y a probablement dans ta classe un problème de découpage.
# Import the required libraries from tkinter import * # Create an instance of tkinter frame or window win = Tk() # Set the size of the tkinter window win.geometry("700x350") # Define a function update the label text def on_click(): label["text"] = "Python" b["state"] = "disabled" # Create a label widget label = Label(win, text="Click the Button to update this Text", font=('Calibri 15 bold')) label.pack(pady=20) # Create a button to update the label widget b = Button(win, text="Update Label", command=on_click) b.pack(pady=20) win.mainloop()
Une "bonne" application est généralement ainsi découpée (et ça tombe bien, c'est le cas de l'exemple cité) :
- Son constructeur crée les widgets (boutons, labels, etc.) et installe les callbacks déclenchées en fonction des événements qui pourront survenir (par exemple si on appuie sur une touche du clavier, si on clique sur un bouton, etc.)
- Ses méthodes implémentent ce qui doit être fait sur ces événements.
- Puis on lance la boucle d'événement (win.mainloop()).
En admettant que tu corriges ton programme selon ce découpage, tu pourras alors modifier le texte du label ainsi :
label_chauff6["text"] = str(plant_mod_reg)
D'ailleurs, vu ton code, je pense que c'est plutôt plant_mod_txt que tu veux utiliser. Et tant qu'on y est, ligne 32, tu as visiblement mis des crochets en trop ([1] désigne la liste qui contient un élément, la valeur 1 ; c'est différent de l'entier qui vaut 1).
Mon conseil serait de ne pas tout coder d'un coup, mais de faire grossir petit à petit ton application en vérifiant à chaque étape que tout se passe comme prévu...
Bonne chance