1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| from tkinter import *
from tkinter import messagebox
# ces lignes de code sont un extrait volontairement simplifié d'un programme mieux agencé et qui fonctionne bien avec beaucoup de questions qcm à la suite
# le seul inconvénient est que si on a répondu bon à une question, c'est automatiquement cette réponse qui est présélectionnée à la question suivante
# si on a répondu faux, c'est la réponse faux qui est présélectionnée.
# comment ne préselectionner aucune case ?
def question(enonce,reponse1,reponse2):
global reponse
enonce=Label(fen,text=enonce)
enonce.pack()
bouton=Radiobutton(fen, text=reponse1, variable=retour, value= 1,font ="Arial 14",indicatoron=1,command=correction).pack(anchor=CENTER)
bouton=Radiobutton(fen, text=reponse2, variable=retour, value= 2,font ="Arial 14",indicatoron=1,command=correction).pack(anchor=CENTER)
def correction(): # on corrige la question 1 et on pose la question 2
reponse=retour.get()
if reponse == 1 :
messagebox.showinfo("correction","bonne réponse")
else:
messagebox.showinfo("correction","mauvaise réponse")
question("Combien font 7 + 2 ?","9","11") # je pose la question à cet endroit pour plus de facilité
# dans un programme plus complet c'est ailleurs qu'elle est posée
# de plus pour aller à l'essentiel de ma question volontairement il n'y a pas de fin à ce programme
########
#programme principal
#######
fen=Tk()
fen.geometry("400x300")
n=0
reponse="1"
retour=IntVar()
question("combien font 2+2 ?","4","5")
fen.mainloop() |
Partager