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 :

Question sur les "entry"


Sujet :

Tkinter Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Question sur les "entry" [résolue]
    Bonjour tout le monde,

    Je suis débutant en programmation et donc dans le codage en Python.
    Je cherche a réaliser un programme ou l'utilisateur rentrerait des valeurs et le programme exécuterait une liste d'action en conséquence (calcules,tracés etc..).
    Un de mes gros problèmes est que je n'arrive pas a comprendre comment on arrive a définir la valeur qui est rentrer dans un champs de texte.
    Par exemple quel serait les codes pour qu'un texte soit celui écrit dans le champs, ou alors ajouter une valeur a celle entréé et l'afficher en objet "Label".
    En gros quelle est la nomenclature pour réutiliser ce que l'utilisateur a rentré.

    Merci de vos réponses.
    Cordialement

  2. #2
    Membre actif Avatar de Gaillac
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 209
    Points
    209
    Par défaut
    Etape 1, tu déclare une variable du type String.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    st_Ta_Chaine = Tkinter_.StringVar(..)
    Etape 2, optionnelle, tu donne une valeur initiale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    st_Ta_Chaine.set("Saisir une valeur entière")
    Etape 3, tu créé une Entry avec l'attribut "textvariable" égal à ta variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Tkinter.Entry(fr_TaFrame,textvariable=st_Ta_Chaine ,width=50,..)
    Etape 4, tu utilise cette valeur.
    La solution la plus simple est de faire cliquer l'utilisateur sur un bouton genre "Valider" quand il a rentré toute ses valeurs, qui déclenchera une fonction qui traitera toute tes variables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    btn_Launch = Tkinter.Button(fr_TaFrame, text='VALIDER',command=self.Valider,relief='raised',fg="#555500",font=('Helvetica', 10, 'bold'))
    NB :
    1) Pour récupérer tes variables, utilise la fonction get()
    2) Tes variables doivent être visible à l'endroit où est créer ton entry aussi bien qu'à l'endroit où tu vas les traiter, donc ne les déclare pas n'importe où.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    merci pour ta réponse rapide, ca ma aidé a bien comprendre le fonctionnement des "entry".
    J'ai malheureusement encore une question. Je n'arrive pas a bien modifier la partie du bouton.
    Je ne comprend pas comment bien configurer la commande (aurais tu une liste des commandes possible d'un bouton?).

    Cordialement

  4. #4
    Membre actif Avatar de Gaillac
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 209
    Points
    209
    Par défaut
    Arrrr nine... j'ai pas précisé, mille excuses

    En fait Valider est le nom d'une procédure que tu dois définir par ailleurs, il n'y a pas (à ma connaissance) de fonctions prédéfinies pour utiliser dans les boutons.

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    def Valider(self):
      #traitement à la con
       print("Ma chaine est "+st_Ta_Chaine1.get())

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Desole mais lors de l'execution de mon programme on me dit que 'objet "self" n'est pas définit.
    Desole pour le retard de la reponse

  6. #6
    Membre actif Avatar de Gaillac
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 209
    Points
    209
    Par défaut
    C'est donc qu'il n'est pas défini...

    Self représente l'instance de l'objet courant, et est à définir comme premier argument des méthodes.

    Avec
    je suppose que je suis dans une procédure où j'ai déclaré self et que j''utilise la procédure Valider déclarer au même niveau.

    Ex:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    #***********************************    Imports ************************************
    import Tkinter
    import tkMessageBox
    import tkFont
    ...
    #***********************************    classe main (héritée de Tkinter.Tk)    ************************************
    class tk_Mon_Appli(Tkinter.Tk):
     
            #***********************
            def __init__(self,parent):
                    #Tkinter.Tk.__init__(self,parent) 
                    self.m_Parent = parent
                    self.Initialize()
     
            #***********************
            def Initialize(self):
                    #plein de code
                    btn_Launch = Tkinter.Button(fr_TaFrame, text='VALIDER',command=self.Valider,relief='raised',fg="#555500",font=('Helvetica', 10, 'bold'))
     
            #***********************
            def Valider(self):
                    #traitement à la con
                    print("Ma chaine est "+st_Ta_Chaine1.get())
     
    #***********************************    Methodes Globales    ************************************
     
    Msg_Erreur()
       blabla
     
    #**************************    Point d'entrée de l'appli       ******************************
     
    if __name__ == "__main__":
     
            try:
                    #Instanciation de la fenêtre principale de l'application
                    app = Mon_Appli(None)
                    app.title('Ton titre')
     
                    # Creation d'un menu
                    menu = Tkinter.Menu(app)
                    app.config(menu=menu)
     
                    filemenu = Tkinter.Menu(menu,tearoff=0)
                    menu.add_cascade(label=u"Fichier", menu=filemenu)
                    ...
                    helpmenu = Tkinter.Menu(menu,tearoff=0)
                    menu.add_cascade(label=u"Aide", menu=helpmenu)
                    helpmenu.add_command(label=u"A Propos", command=About)
     
                    #boucle d'attente des évènements
                    app.mainloop()
     
            except:
                    Msg_Erreur("__Main__")

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  2. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  3. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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