Griser un Entry
Clementine1998
Messages postés
43
Statut
Membre
-
Flaubert -
Flaubert -
Bonjour, j'aimerais que lorsque je clique sur le bouton, la case Entry se grise pour que je ne puisse plus modifier ce qu'il y à l'intérieur... Est-ce que c'est possible?
from tkinter import *
root = Tk()
def QCM():
#Griser l'Entry
Prenom = Entry(root)
Prenom.pack()
b=Button(root, text ="C'est parti !", command=QCM)
b.pack()
root.mainloop()
1 réponse
-
Oui, c'est possible, entry a un paramètre state qui peut définir cela.
Exemple simple utilisant lambda dans les commandes boutons de tkinter.
import tkinter as tk
root = tk.Tk()
def modifier_etat_entree(objet_entry, etat):
objet_entry.configure(state=etat) # Ou objet_entry['state'] = etat qui fait la même chose
prenom = tk.Entry(root)
prenom.pack()
bouton_desactiver = tk.Button(root, text ="Désactiver", command=lambda p=prenom, etat=tk.DISABLED: modifier_etat_entree(p, etat))
bouton_desactiver.pack()
bouton_activer = tk.Button(root, text ="Activer", command=lambda p=prenom, etat=tk.NORMAL: modifier_etat_entree(p, etat))
bouton_activer.pack()
root.mainloop()
Pour le fonctionnement de lambda, je t'invite à rechercher sur ton moteur de recherche préféré qui te renverra vers des explications détaillées.