⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des attributs
tkinter.validatecommand
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ liste des attributs
tkinter.validatecommand
DESCRIPTION.
Indique la fonction à exécuter, quand un certain événement se produit, pour la validation du contenu d'un champ de saisie.
SYNTAXE.
validatecommand = ( action , *argument )
REMARQUES.
action doit être un emballage tlc pour Python, créé avec la méthode tkinter.register ( ). C'est la survenue de l'événement à surveiller par l'attribut validate qui déclenche automatiquement action.
argument doit être une suite de str ( ), qui sera passée comme argument à la fonction associée à action, ayant l'une des valeurs suivantes :
- "%d", le Code d'action ;
- "%i", l'utilisateur tente de supprimer ou d'insérer du texte ;
- "%P", la valeur qu'aurais pris le champ de saisie si la modification avez réussie ;
- "%s", la valeur du champs de saisie avant la modification ;
- "%S", la valeur du texte inséré ou supprimé, si l'appel et du à cette modification ;
- "%v", l'événement surveillé par de l'attribut validate ;
- %V", la circonstance de l'appel si la variable de controle liée au champ de saisie a été modifié ;
- "%W", identification du champs de saisie.
Voir la méthode tkinter.register ( ) pour plus d'informations sur la surveillance du contenu d'un champs de saisie.
EXEMPLE.
import tkinter
def FNC_Test ( Q ) :
if Q.isdigit ( ) :
LAB_Reponce [ "text" ] = f"Moitié = { int ( Q ) / 2 }\nDouble = { int ( Q ) * 2 }\nCarré = { int ( Q ) ** 2 }"
return True
else :
return False
def FNC_Message ( ) :
LAB_Reponce [ "text" ] = "ATTENTION !\nMauvaise\nsaisie !"
TKI_Principal = tkinter.Tk ( )
REG_Valide = TKI_Principal.register ( FNC_Test )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
ENT_Texte = tkinter.Entry ( TKI_Principal , validate = "key" , validatecommand = ( REG_Valide , "%P" ) , invalidcommand = FNC_Message )
LAB_Reponce = tkinter.Label ( TKI_Principal , text = "Entrez un\nnombre\nentier" )
LAB_Reponce.pack ( )
ENT_Texte.pack ( )
BUT_Quitter.pack ( )
ENT_Texte.focus_force ( )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de