|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 650 ![]() |
Bonjour,
Comme je trouve que la partie de la FAQ sur le Widget Entry un peut légère je vous propose de rajouter du piment avec ce qui suit: --- Comment contrôler la saisie du texte dans un widget Entry ? Il existe deux manières de procéder: La validation ou la trace. La première interviens avant la modification du texte du Widget et la seconde solution permet d'en vérifier la saisie. La validation: Le Widget Entry dispose des options validate et validatecommand (ou vcmd, ce qui est exactement la même chose) permettant le contrôle de la saisie du texte. L'option validatecommand (vcmd) indique la fonction qui doit être utilisée pour valider le texte. Cette fonction doit impérativement retourner une valeur booléenne. True valideras la saisie et False la refuseras. La difficulté est ici que si la fonction ne retourne pas une valeur booléenne validate passe à None et la validation ne se fait plus, le seul moyen de réactiver celle ci étant de redonner sa valeur à l'option validate (widget.config(validate=valeur) par exemple). Il est possible de passer les paramètres suivants à la fonction: Citation:
Les événements possible sont: Citation:
Code :
Un exemple avec le code précédent: Code :
Pour tracer le contenu de l'Entry nous utilisons la classe Variable Tkinter, et plus précisément la classe StringVar puisque le contenu du Widget Entry est du texte. La classe Variable permet d’exécuter une fonction lorsque la valeur change (Merci de vous reporter à la documentation) et est utilisable avec l'option textvariable du Widget Entry. Un exemple simple de son utilisation: Code :
Attention: Il est maladroit de mélanger les deux solutions sous peine de voir les deux événements entrer en interaction. --- Votre avis ?
__________________
Merci d'utiliser le forum pour les questions techniques. |
||||||||
|
|
00
|
|
|
#2 | |||||||||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 650 ![]() |
Question sur la présentation:
FAQ Python - vous devez proposer la question ainsi que la réponse avec le tag [FAQ] - placez la Q/R complète dans une balises [quote] Comme ceci ? Citation:
__________________
Merci d'utiliser le forum pour les questions techniques. |
|||||||||
|
|
00
|
|
|
#3 | |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 650 ![]() |
Citation:
Le sujet étant le Widget Entry je ne pense pas que la classe Variable soit a expliquer. Une idée pour ce passage ?
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 650 ![]() |
Citation:
Citation:
__________________
Merci d'utiliser le forum pour les questions techniques. |
||
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 650 ![]() |
Pas mal d'edit en fait
__________________
Merci d'utiliser le forum pour les questions techniques. |
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 739 ![]() |
Salut,
J'ai deux remarques de "fond". Plutôt que de parler de "Comment contrôler la saisie du texte dans un widget Entry ?", il serait plus sage de se restreindre à "Comment utiliser la validation du widget Entry?". Car, l'usage des variables est "plus large" que... et, après tout, la grosse difficulté est dans la mise en œuvre de "validate". Je voulais ensuite parler de "forme" mais à la rédaction, je m'aperçois que ce qui est "brouillardeux" n'est pas tant validateCommand que la création de fonction appelables par Tcl (en général). Pour le coup, c'est quelque chose de vraiment spécifique à tkinter mais je n'ai pas trouvé de documentation satisfaisante ailleurs que dans les sources (et quelques exemples qui traînent ici ou là.) "idéalement", ce serait peut être pas mal d'avoir 2/3 pages sur cela avec des explications / recommandations. Une fois cela écrit, il sera certainement plus simple de raconter la validation du widget Entry. - W
__________________
Architectures Post-Modernes |
|
|
00
|
|
|
#7 | ||||||
|
Expert Confirmé
![]() Patrice BLANGARINTechnicien Help Desk, maintenance, réseau, système et + Inscription : juin 2006 Messages : 2 650 ![]() |
Bonsoir wiztricks,
Dans un premier temps merci de votre réponse. A vrais dire je viens de me faire mon 'bas à sable' avec trois propositions: Une modification de la FAQ Un ajout 'simple' à la FAQ Un Ajout 'piège pour moi' à la FAQ: Ce post. Piège ? Le sujet l'est en effet. La validation de l'Entry l'est. Piège aussi car je teste ma capacité a expliquer. Citation:
Citation:
Citation:
A noter ( Citation:
Citation:
Citation:
@+
__________________
Merci d'utiliser le forum pour les questions techniques. |
||||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com