Checkbox = 1
Résolu
nicopoppe
-
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
-
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?-
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()- 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 syntaxett = 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.
-