Faire un bouton valider QCM

Résolu/Fermé
Clementine1998 Messages postés 34 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 1 juin 2016 - 7 févr. 2016 à 10:41
Clementine1998 Messages postés 34 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 1 juin 2016 - 11 févr. 2016 à 19:34
Bonjour, je suis débutante dans le domaine de la programmation, et c'est pourquoi je sollicite votre aide. Je souhaite réaliser un QCM. La première version sera simple. Il s'agit de poser une question, de demander à l'utilisateur de choisir une réponse et que en cliquant sur un bouton valider le programme dise si la réponse est bonne ou pas. Et c'est sur ce dernier point que je bloque.

Je vous mais le début de programme:

from tkinter import*

fen=Tk()
t=Label(fen,text="Combien y a t il de couleurs sur le drapeau français?")
t.pack()

Réponse1 = Checkbutton(fen, text="2")
Réponse1.pack()
Réponse2 = Checkbutton(fen, text="3")
Réponse2.pack()

fen.mainloop()

Merci de votre aide.

3 réponses

dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476
8 févr. 2016 à 04:03
Bonjour
peux-tu stp utiliser le bouton "code" dans l'éditeur de message pour afficher ton code et aussi expliquer ton code ? Merci.
0
Clementine1998 Messages postés 34 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 1 juin 2016
8 févr. 2016 à 08:36
Voilà:


from tkinter import*

fen=Tk()
Question=Label(fen,text="Combien y a t il de couleurs sur le drapeau français?")
Question.pack()

Réponse1 = Checkbutton(fen, text="2")
Réponse1.pack()
Réponse2 = Checkbutton(fen, text="3")
Réponse2.pack()

fen.mainloop()


Tkinter sert à ouvrir une fenêtre
La question est posée dans "Label"
Checkbutton permet de faire une case à cocher
0
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476
8 févr. 2016 à 13:25
Tu pourrais utiliser le paramètre command lorsque tu définis les chekbutton. En ainsi exécuter du code lorsque le bouton est cliqué.

Un exemple : https://stackoverflow.com/questions/6469254/tkinter-checkbutton-doesnt-change-my-variable/6469789#6469789
La méthode cb() est affectée au CheckButton grâce au paramètre command
0
Clementine1998 Messages postés 34 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 1 juin 2016
8 févr. 2016 à 13:33
J'ai fais ceci mais cela ne fonctionne pas:

from tkinter import*

fen=Tk()

var = BooleanVar()

def cb():
print "variable is {0}".format(var.get())

Question=Label(fen,text="Combien y a t il de couleurs sur le drapeau français?")
Question.pack()

Réponse1 = Checkbutton(fen, text="2", command=cb)
Réponse1.pack()
Réponse2 = Checkbutton(fen, text="3", command=cb)
Réponse2.pack()

fen.mainloop()
0
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476
8 févr. 2016 à 13:51
J'ai changé un peu le code :
from Tkinter import *

fen=Tk()

var = IntVar()

def cb():
    print "variable is {0}".format(var.get())

Question=Label(fen,text="Combien y a t il de couleurs sur le drapeau francais?")
Question.pack()

Reponse1 = Checkbutton(fen, text="2", command=cb, variable=var, onvalue=2, offvalue=0)
Reponse1.pack()
Reponse2 = Checkbutton(fen, text="3", command=cb, variable=var, onvalue=3, offvalue=0)
Reponse2.pack()

fen.mainloop()

Les paramètres onvalue et offvalue indiquent les valeurs de var quand tu cliques.
0
Clementine1998 Messages postés 34 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 1 juin 2016 > dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020
8 févr. 2016 à 14:03
Merci, mais ça me dit qu'il y a une erreur de syntaxe à cette ligne:

print "variable is {0}".format(var.get())
0
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476 > Clementine1998 Messages postés 34 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 1 juin 2016
8 févr. 2016 à 16:09
C'est la même ligne de code que toi, je suppose que l'erreur est avant ou après cette ligne.
0
Clementine1998 Messages postés 34 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 1 juin 2016 > dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020
8 févr. 2016 à 17:02
Bah nan ça me met: SyntaxError: invalid syntax (<module2>, line 8)

Comment faire?
0