Partage
  • Partager sur Facebook
  • Partager sur Twitter

Valider des entry avec un bouton

python 2.7.6

    12 août 2015 à 21:38:42

    Bonjour,

    Je suis débutant python, j'utilise tkinter, et ma version est la 2.7.6.
    J'ai créé un petit programme. Il marche impeccable, cependant j'ai fait un formulaire avec des Entry pour créer des contacts dans le dictionnaire.
    Dans le formulaire j'ai un bouton validé mais il valide dès l'ouverture du toplevel (formulaire avec les Entry) alors que je n'ai pas cliqué sur le bouton valider.
    Comment dois-je faire ?

    Code :
    http://code.empreintesduweb.com/9668.html

    Modification : 13/08/2015 01 :51

    Voilà j'ai trouvé la solution, mais je n'arrive pas a fermer automatiquement la fenêtre lorsque je valide les champs entry par le bouton valider ?

    code :

    http://code.empreintesduweb.com/9672.html

    Que faut-il faire ?


    Merci.

    -
    Edité par xunil2003 13 août 2015 à 1:54:02

    • Partager sur Facebook
    • Partager sur Twitter
      13 août 2015 à 7:54:53

      Pour fermer la fenêtre tu rajoute :

      root.destroy()

      Mais il nous manque des bouts de code pour comprendre comment le programme roule. 
      Sinon tu devrais essayer de créer ton formulaire avec des liste et des loops. Le code serait plus facile à modifier plus court et plus clair. Je te montre un exemple que je ne me souviens plus d'où je l'avais copié. J'esserai de retrouver la source et d'éditer mon message.

      #!/usr/bin/python3
      
      from tkinter import *
      fields = 'Last Name', 'First Name', 'Job', 'Country'
      
      def fetch(entries):
         for entry in entries:
            field = entry[0]
            text  = entry[1].get()
            print('%s: "%s"' % (field, text)) 
      
      def makeform(root, fields):
         entries = []
         for field in fields:
            row = Frame(root)
            lab = Label(row, width=15, text=field, anchor='w')
            ent = Entry(row)
            row.pack(side=TOP, fill=X, padx=5, pady=5)
            lab.pack(side=LEFT)
            ent.pack(side=RIGHT, expand=YES, fill=X)
            entries.append((field, ent))
         return entries
      
      if __name__ == '__main__':
         root = Tk(className='Form')
         ents = makeform(root, fields)
         root.bind('<Return>', (lambda event, e=ents: fetch(e)))   
         b1 = Button(root, text='Show',
                command=(lambda e=ents: fetch(e)))
         b1.pack(side=LEFT, padx=5, pady=5)
         b2 = Button(root, text='Quit', command=root.quit)
         b2.pack(side=LEFT, padx=5, pady=5)
         root.mainloop()
      



      • Partager sur Facebook
      • Partager sur Twitter

      Valider des entry avec un bouton

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown