Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mettre une valeur par défaut dans un widget "SpinBox" ?

Sujet résolu
    17 août 2010 à 16:35:53

    Bonjour tout le monde,

    J'ai un formulaire contenant un widget de type spinbox.

    self.sel_delay = Spinbox(frm,from_=0,to=1024,width=larg_chk,state='readonly',
                                     bd=2)
    


    J'aurais juste voulu savoir si il était possible de mettre une valeur par défaut dans ce widget ?

    Par exemple 1024 ?

    Merci d'avance.

    beegees
    • Partager sur Facebook
    • Partager sur Twitter
      17 août 2010 à 16:39:50

      Si tu commençais par nous indiquer la bibliothèque que tu utilises pour faire ta GUI, on pourrait t'aider...
      • Partager sur Facebook
      • Partager sur Twitter
      Zeste de Savoir, le site qui en a dans le citron !
        17 août 2010 à 16:40:57

        Citation : NoHaR

        Si tu commençais par nous indiquer la bibliothèque que tu utilises pour faire ta GUI, on pourrait t'aider...



        Toutes mes excuses.

        Tkinter.

        beegees
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          17 août 2010 à 23:49:34

          C'est quoi un spinbox? C'est pas un entry, à quelques choses prêt?

          Pourquoi tu pourrais pas mettre 1024?

          Regarde aussi l'option increment!

          Personnellement je préfère utiliser le widget entry.

          :)

          Edit :

          Si ça ne te parle pas trop voici un exemple vite fait avec l'interpréteur.

          >>> from Tkinter import *
          >>> root=Tk()
          >>> spin=Spinbox(root, from_=0.0, to=1024.0, increment=1.0).pack() # dans la doc il est stipulé floating point et j'incrémente de 1 dans mon exemple.
          >>> root.mainloop()
          • Partager sur Facebook
          • Partager sur Twitter
            20 août 2010 à 15:41:41

            Salut Fred,

            Merci pour ta réponse.

            J'ai fait ceci :

            for i in range(default_delay-1):
                        self.sel_delay.invoke("buttonup")
            


            Un peu bricolage mais ça fonctionne.

            Bonne fin de semaine.

            beegees
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              20 août 2010 à 15:49:38

              A partir du code que tu viens de donner je ne vois pas le rapport avec spinbox de Tkinter o_O
              • Partager sur Facebook
              • Partager sur Twitter
                20 août 2010 à 16:35:34

                for i in range(default_delay-1):
                   self.sel_delay.invoke("buttonup")
                spin=Spinbox(root, from_=0.0, to=1080.0, increment=1.0).pack()
                


                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  20 août 2010 à 18:59:02

                  Je ne vois toujours pas ce que viennent faire ces lignes de code en rapport avec spinbox??? :euh:

                  for i in range(default_delay-1):
                     self.sel_delay.invoke("buttonup")
                  


                  Elle servent à quoi ces 2 lignes


                  C'est pas pour t'embêter c'est que je ne connais pas.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 août 2010 à 19:03:33

                    Tu ne m'embêtes pas du tout Fred.

                    C'est juste moi qui comprend tout à l'envers :lol:

                    J'ai trouvé ce code sur le net.

                    Je me disais que la flèche haute de la spinbox était enclenchée 1080 fois afin d'avoir une valeur par défaut de 1080.

                    Qu'en penses-tu ?

                    Si tu as le temps et surtout l'envie (je comprends qu'en fin de semaine...)

                    Mon poste

                    beegees
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      20 août 2010 à 23:00:21

                      Citation

                      Je me disais que la flèche haute de la spinbox était enclenchée 1080 fois afin d'avoir une valeur par défaut de 1080



                      Eh bien je pense qu'il doit y avoir mieux, enfin j'espère, car t'imagine si tu devais mettre ta valeur par défaut à 100000. :p

                      J'ai une solution mais elle merde un peu et je ne sais pas pourquoi.

                      spin=Spinbox(root, value=1084).pack()
                      


                      Ca merde dans le sens ou la valeur 1084 n'est ensuite plus modifiable, et pourquoi je ne sais pas o_O

                      Mais c'est vrai que pour le moment je ne vois pas d'autres solutions.

                      Edit: J'ai trouvé !!!

                      from Tkinter import *
                          
                      
                      defaut=1084
                      mini=0
                      
                      root=Tk()
                      spin=Spinbox(root, from_=mini, to=defaut, increment=1)
                      spin.delete(0, 5) # supprime entièrement la case valeur
                      spin.insert(0, defaut) # insère la valeur défaut, donc 1084
                      spin.pack()
                      root.mainloop()
                      


                      C'est plus propre :)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 août 2010 à 10:18:50

                        Salut Fred,

                        En effet, ta méthode est propre Fred.

                        Je modifie.

                        Merci ^^... et bon week-end.

                        beegees

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Mettre une valeur par défaut dans un widget "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