Récupérer un entry dans une variable

Résolu/Fermé
Komode Messages postés 9 Date d'inscription lundi 2 août 2021 Statut Membre Dernière intervention 14 avril 2023 - 2 août 2021 à 19:37
yg_be Messages postés 23236 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 octobre 2024 - 4 août 2021 à 10:13
Bonjour,
j'ai commencé à apprendre la programmation python il y a quelques semaines et pour que mais premiers programmes prennent formes je me suis intéressé au modul tkinter, mais voilà que je n'arrive pas à comprendre comment les valeurs écrites dans un widgets notamment un entry puissent être récupérer dans une variable et conservé comme tout autre contenue de variable.

Merci à ceux qui pourront me répondre cela me bloque dans mon apprentissage depuis plusieurs jours.

4 réponses

Bonsoir,

La valeur d'un widget Entry se récupère en utilisant une variable tkinter et en la passant à Entry via son paramètre textvariable.

Exemple basique avec un test pour valider une saisie en utilisant la mèthode trace de StringVar.

import tkinter as tk

def check_value(*args):
    # Une simple fonction pour l'exemple qui vérifie si la valeur est un nombre
    # et de longueur de moins de 11 caractères et qui l'écrit dans un label
    # Si saisie invalide, retour de la valuer de la variable à celle précédente.
    value = entry_value.get()
    if value.isdigit() and len(value) <= 10 or not value:
        label['text'] = value
    else:
        entry_value.set(label['text'])

win = tk.Tk()

frame = tk.Frame(win, bg='navy')
frame.grid()

entry_value = tk.StringVar()
entry_value.trace('w', check_value)

entry = tk.Entry(
    frame, textvariable=entry_value, width=30, bg='black', fg='white',
)
entry.grid(padx=25, pady=10)

label = tk.Label(frame, width=30, bg='green', fg='white')
label.grid(pady=(40, 10))

entry.focus_set()

win.mainloop()


Il existe aussi dans le widget Entry, les paramètres validate et validatecommand servant à vérifier et autoriser la saisie, sans doute un peu plus élaboré qu'en utilisant Var.trace.
0
Komode Messages postés 9 Date d'inscription lundi 2 août 2021 Statut Membre Dernière intervention 14 avril 2023
3 août 2021 à 15:27
Merci beaucoup de ta réponse mais je n'arrive pas utiliser les widgets de ton programme.
0