Checkbox = 1

Résolu
nicopoppe -  
 nicopoppe -
Bonjour, je suis nouveau en programmation Python et je n'arrive pas à faire quelque chose : qu'une checkbox soit égal à 1. Par exemple l'utilisateur coche 3 checkbox et on affiche un résultat de 3. Je sais pas si je suis très clair, merci pour vos réponses d'avance..

Configuration: Windows / Chrome 76.0.3809.100

1 réponse

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, peux-tu partager ton code, en utilisant la coloration syntaxique?
    0
    1. nicopoppe
       
      Alors voici mon code, j'aimerais pouvoir afficher le total dans Tkinter mais la dernière commande text ne foctionne pas :/ , j'aimerais aussi trouvé une manière plus synthétique de faire ça pour éviter de recopier le code 50x si j'ai 50 éléments..


      from tkinter import *
      
      window = Tk()
      var1 = IntVar()
      var2 = IntVar()
      def two():
          print("Total est ", var1.get()+var2.get())
          
          
      c1 = Checkbutton(window, text="Chaise", variable=var1,command=two)
      c1.pack()
      c2 = Checkbutton(window, text="Table", variable=var2,command=two)
      c2.pack()
      
      
      text = Label(window,text=two)
      text.pack()
      mainloop()
      0
      1. sorlo > nicopoppe
         
        Bonsoir,

        mais la dernière commande text ne foctionne pas


        Une chaine de caractères doit être comprises entre apostrophes ou guillemets.

        Pour faire ça de façon plus évolutives
        , tu pourrais faire quelque chose comme

        from tkinter import * 
        
        def total():
            tt = sum(var.get() for var in items.values())
            text['text'] = 'Le Total est de %u' % tt
            
        window = Tk()
        
        # Tuple des noms d'items
        noms = ('Chaise', 'Table',)
        # Dictionnaire nom => var
        items = {nom:IntVar() for nom in noms}
        # Cases à cocher
        for nom, var in items.items():
            bt = Checkbutton(window, text=nom, variable=var, command=total)
            bt.pack()
        
        text = Label(window,text='Le total est de 0')
        text.pack()
            
        mainloop()


        La syntaxe
        tt = sum(var.get() for var in items.values())


        Est une forme condensée de faire :

        tt = 0
        for var in items.values():
            tt += var.get()


        Avec ce code, tu peux ajouter d'autres noms dans le tuple noms pour ajouter d'autres cases à cocher.

        Bonne continuation.
        0
      2. nicopoppe > sorlo
         
        C'est exactement ce que je cherchais à faire, merci beaucoup d'avoir pris le temps pour un débutant ! Bonne continuation
        0