Bonjour à tous,
Python 2.5 et Tkinter
J'ai une Entry qui va interroger une base de données, je voudrais convertir dés l'entrée les carractères en minuscule pour éviter tout problème et je n'arrive pas à trouver la syntaxe.
Merci de vos lumieres...
Bonjour à tous,
Python 2.5 et Tkinter
J'ai une Entry qui va interroger une base de données, je voudrais convertir dés l'entrée les carractères en minuscule pour éviter tout problème et je n'arrive pas à trouver la syntaxe.
Merci de vos lumieres...
Pour convertir en minuscule une chaine :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 >>> ch="BonJour" >>> print ch.lower() bonjour
Bonsoir,
Pour faire cela tu dois utiliser textvariable et la validation (validate/validatecommand).
Un exemple ici
Bon code
Merci à tous,
mais je me suis mal exprimé. EX simplifié:
suivant mes essais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 from Tkinter import * root =Tk() #CB = StringVar() saisie = Entry(root) saisie.pack() bouton = Button (root, text ="OK", command=verif) bouton.pack() def verif(): CB= StringVar() CB = (saisie.get(),) #CB = str(CB) CB =str(CB.lower()) print CB root.mainloop()
#AttributeError: 'tuple' object has no attribute 'lower', etc...
Mon But est de vérifier dans une BDD "saisie" qui doit etre en minuscule, je vois 3 solutions? :
- Vérifier si la touche maj est active dans root et un msg d'alerte
- Mettre en minuscule l'Entry
- Changer "saisie " après pour mettre tout en minuscule
malgré plein d'essais, je trouve pas.
Merci de votre aide.
Bonsoir,
C'est bien cela la réponse.
- Pour la touche MAJ cela correspond au système. Trop compliqué vu la suite.
- Mettre en minuscule :
Note : Si tu souhaite 'interdire l'utilisation et l'affichage' des majuscules tu dois passer par la validation. Voir mon lien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 def varsaisie_callback(*args): if varsaisie.get() != varsaisie.get().lower(): varsaisie.set(varsaisie.get().lower()) import Tkinter root=Tkinter.Tk() varsaisie = Tkinter.StringVar() varsaisie.trace("w", varsaisie_callback) saisie = Tkinter.Entry(root, textvariable=varsaisie) saisie.pack() bouton = Tkinter.Button(root, text="OK", command=root.quit) bouton.pack() root.mainloop()
- Changer "saisie" après ? Inutile et source à erreur non ?
@+
Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
CONTENU D'UNE QUESTION
Exemples:
- Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
- Code source du morceau de programme où il y a un bogue
- Ligne de code sur laquelle le bogue apparaît
- Erreur complète retournée pas l'interpréteur Python
- Recherche déjà effectuée (FAQ, Tutoriels, ...)
- Tests déjà effectués
Bonjour,
Bonne réponse de afranck64.
Ceci dit le StringVar est inutile :
@+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 import Tkinter def verif(): CB = saisie.get().lower() print CB root=Tkinter.Tk() saisie=Tkinter.Entry(root) saisie.pack() Tkinter.Button(root, text="OK", command=verif).pack() root.mainloop()
Partager