Checkbox = 1

Résolu
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. Contributeur
    bonjour, peux-tu partager ton code, en utilisant la coloration syntaxique?
    1. 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()
    2. @nicopoppeBonsoir,

      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.
    3. @sorloC'est exactement ce que je cherchais à faire, merci beaucoup d'avoir pris le temps pour un débutant ! Bonne continuation