IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Débutant, controler une Entry


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Débutant, controler une Entry
    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...

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 915
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 915
    Points : 7 300
    Points
    7 300
    Par défaut
    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

  3. #3
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonsoir,

    Pour faire cela tu dois utiliser textvariable et la validation (validate/validatecommand).

    Un exemple ici

    Bon code

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Pour etre plus clair:
    Merci à tous,
    mais je me suis mal exprimé. EX simplifié:
    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()
    suivant mes essais :
    #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.

  5. #5
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonsoir,

    C'est bien cela la réponse.

    Citation Envoyé par Mic92 Voir le message
    - 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
    - Pour la touche MAJ cela correspond au système. Trop compliqué vu la suite.

    - Mettre en minuscule :
    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()
    Note : Si tu souhaite 'interdire l'utilisation et l'affichage' des majuscules tu dois passer par la validation. Voir mon lien.

    - Changer "saisie" après ? Inutile et source à erreur non ?

    @+

  6. #6
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut
    Bonjour,

    Citation Envoyé par Mic92 Voir le message
    def verif():
    CB= StringVar()
    CB = (saisie.get(),)
    #CB = str(CB)
    CB =str(CB.lower())
    print CB
    Le problème c'est CB = (saisie.get(),) quand tu met la virgule le type de CB est tuple pour avoir un string il te faut enlever la virgule après saisie.get()

    @+ et bon code!

  7. #7
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Citation Envoyé par Mic92 Voir le message
    #AttributeError: 'tuple' object has no attribute 'lower', etc...
    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()
    @+

Discussions similaires

  1. Réponses: 9
    Dernier message: 20/03/2008, 18h19
  2. [débutant] controler une balise <object> via ASP
    Par Mucsy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 16/01/2007, 14h12
  3. Controler une chaine de caracteres ou d'entiers?
    Par Le druide dans le forum C
    Réponses: 6
    Dernier message: 25/09/2003, 08h48
  4. [Débutant] Tester une connection sur bdd
    Par lando dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 03/09/2003, 14h37
  5. Controler une anim Flash
    Par Nico-ganja dans le forum Flash
    Réponses: 2
    Dernier message: 04/03/2003, 00h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo