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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| lass Question:
"""Classe définissant une liste de question:
-son énoncé
-sa réponse 1
-sa réponse 2
-sa réponse 3
-sa réponse juste"""
def __init__(self, enonce="", rep1="", rep2="", rep3="", repjuste=""): # Définition des objetss de la classe
self.enonce = enonce
self.rep1 = rep1
self.rep2= rep2
self.rep3 = rep3
self.repjuste = repjuste
n=1 #compteur du nombre de question
# -*- coding: cp1252 -*-
from Tkinter import* # On importe Tkinter, on utilisera l'iinerface pour faciliter l'enregistrement de question dans un dictionnaire.
Fen1=Tk() #Création de la fênetre, des entrées, etc
Fen1.title(u"Création question")
Af1=Label(Fen1, text= u"Ecrire une question.")
Af2=Label(Fen1, text="Ecrire la réponse 1.")
Af3=Label(Fen1, text="Ecrire la réponse 2.")
Af4=Label(Fen1, text="Ecrire la réponse 3.")
Af5=Label(Fen1, text="Ecrire la réponse juste.")
Af6=Label(Fen1, text="")
Ent1=Entry(Fen1)
Ent2=Entry(Fen1)
Ent3=Entry(Fen1)
Ent4=Entry(Fen1)
Ent5=Entry(Fen1)
Q1=Question () # Pour faciliter l'écriture on renomme la classe
def ma_commande1(): # On crée une commande qui à pour but de vérifier si toutes les entrées possèdent un texte.
enonce=Ent1.get() # On renomme les textes entrés pur faciliter l'utilisation de ceux-ci et meiux les reconnaitre.
rep1=Ent2.get()
rep2=Ent3.get()
rep3=Ent4.get()
repjuste=Ent5.get()
if enonce=="" or rep1=="" or rep2=="" or rep3=="" or repjuste=="": # On intègre une condition permettant de vérifier si les entrées sont vides.
Bout2.pack_forget () # Ainsi le bouton disparaitra.
Af6.configure(text= u"Vous n'avez pas rempli toutes les cases") # On précise le problème à l'utilisateur.
else:
Bout2.pack () # Si les entrées possédent un texte le bouton apparaitra.
Af6.configure(text= u"")
def ma_commande2():
global n # On intègre le compteur de question à la commande
enonce=Ent1.get() # On renomme les textes entrés pur faciliter l'utilisation de ceux-ci et meiux les reconnaitre.
Q1.enonce= (enonce) # On enregistre le texte entré dans l'objet correspondant au texte, ici l'objet énoncé, !!!!! dans la classe correspondant à la question. !!!!!!
Ent1.delete (0,END) # On supprime le texte contenue dans l'entrée pour pouvoir entrer un nouveau texte
rep1=Ent2.get() #De même
Q1.rep1=(rep1)
Ent2.delete (0,END)
rep2=Ent3.get() #De même
Q1.rep2=(rep2)
Ent3.delete (0,END)
rep3=Ent4.get() #De même
Q1.rep3= (rep3)
Ent4.delete (0,END)
repjuste=Ent5.get() #De même
Q1.repjuste=(repjuste)
Ent5.delete (0,END)
n=n+1 # Le compteur augmente à chaque fois que l'on appuie sur le bouton.
Af1.configure(text= u"Ecrire une question "+ str(n)+'.') # On met à jour le numéro de la question, de l'énoncé ....
Af2.configure(text= u"Ecrire la réponse 1, de la question "+ str(n)+'.')
Af3.configure(text= u"Ecrire la réponse 2, de la question "+ str(n)+'.')
Af4.configure(text= u"Ecrire la réponse 3, de la question "+ str(n)+'.')
Af5.configure(text= u"Ecrire la réponse juste, de la question "+ str(n)+'.')
Bout2.pack_forget () # On fait dispaaitre le bouton pour que l'utilsateur ne puisse l'utiliser.
Bout1=Button(Fen1,text=u"Vérifie",command=ma_commande1) # Création des boutons
Bout2=Button(Fen1,text=u"Enregistre les questions ici !",command=ma_commande2)
Af1.pack() # Affichage des différents bidules.
Ent1.pack()
Af2.pack()
Ent2.pack()
Af3.pack()
Ent3.pack()
Af4.pack()
Ent4.pack()
Af5.pack()
Ent5.pack()
Af6.pack()
Bout1.pack()
Bout2.pack_forget()
Fen1.mainloop() |
Partager