Partage
  • Partager sur Facebook
  • Partager sur Twitter

Python - Question sur une Spinbox

    26 octobre 2016 à 17:02:02

        Mafenetre = Tk()
        Mafenetre.title("Bonjour le monde")
        
    
        # Création d'un widget Label 
        LabelNoeud = Label(Mafenetre, text = 'Noeud =')
        LabelNoeud.pack(side = LEFT)
    
        # Création d'un widget Spinbox
        boite = Spinbox(Mafenetre,from_=1,to=20, wrap=True)
        boite.pack(side = LEFT, padx=5,pady=5)
    
        bouton1 = Button(Mafenetre, text ='Charger noeud', command = lambda x=boite.get():chargerNoeud(x)).pack(side = LEFT, padx = 10, pady = 10)
    
        Mafenetre.mainloop()


    Bonjour à tous,

    Alors je vais essayer de me faire comprendre au mieux :)

    J'ai codé un petit IHM simple avec une spinbox et un bouton, et ce que je voudrais, c'est qu'un clic sur le bouton lance une fonction avec la valeur du spinbox en paramètre.

    Le problème est que le boite.get() me renvoie toujours la valeur du "from_" donc 1 et ce peu importe la valeur du spinbox.

    Si quelqu'un a une idée pour me décoincer...

    Merci d'avance :)

    • Partager sur Facebook
    • Partager sur Twitter
      26 octobre 2016 à 17:23:56

      J'ai peut-être une solution pour toi :

      from tkinter import*
      
      def chargerNoeud():
          # On récupère directement la valeur de la Spinbox
          valeur = boite.get()
      
          # On l'affiche dans le Label
          LabelNoeud.configure(text=("Noeud ="+valeur))
      
      Mafenetre = Tk()
      Mafenetre.title("Bonjour le monde")
      
      
      # Création d'un widget Label
      LabelNoeud = Label(Mafenetre, text = 'Noeud =')
      LabelNoeud.pack(side = LEFT)
      
      # Création d'un widget Spinbox
      boite = Spinbox(Mafenetre,from_=1,to=20, wrap=True)
      boite.pack(side = LEFT, padx=5,pady=5)
      
      bouton1 = Button(Mafenetre, text ='Charger noeud', command=chargerNoeud).pack(side = LEFT, padx = 10, pady = 10)
      
      Mafenetre.mainloop()


      Tu n'as d'ailleurs pas besoin de passer la valeur de la Spinbox en paramètre, tu peux la récupérer directement au sein de ta fonction. Je ne sais pas si c'est ce que tu recherches exactement, mais j'espère t'avoir aidé d'une certaine manière.

      -
      Edité par Lumiox 26 octobre 2016 à 17:30:04

      • Partager sur Facebook
      • Partager sur Twitter
        26 octobre 2016 à 17:32:04

        Ça marche !! Merci beaucoup Lumiox
        • Partager sur Facebook
        • Partager sur Twitter

        Python - Question sur une Spinbox

        × 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