J'ai créé différents un QCM et j'ai besoin d'y faire une interface graphique avec Tkinter. J'ai créé au préalable, plusieurs design de frame et label a mettre dans une fenêtre.
Sauf que je n'ai ni trouvé, ni compris comment est-ce que je peux passer d'une frame a une autre en demandant a l'utilisateur d'appuyer sur un bouton. Et comment est ce que je peux mettre la valeur que l'utilisateur a entré dans une Entry dans une variable et que seras réutilisée plus tard
Merci d'avance et bonne année a vous
Je ne sais pas si je poste avec, les deux design fait pour vous aider a répondre a ma question et ou le QCM fait sans Tkinter
from tkinter import *
Fenetre = Tk()
Fenetre.config(background = '#8BB2DF')
Fenetre.title('Questions à choix multiples NSI')
#premier deign
Cadre_titre = Frame(padx = '2', pady = '2' , bg = 'black',width = '5',bd = '2')
Cadre_titre.pack(pady = '40')
Titre = Label(Cadre_titre,text = 'BIENVENUE DANS LE QCM', \
font = ("Franklin Gothic Demi" , 50 ), padx = '50', pady = '30' )
Titre.pack()
Fenetre_secondaire = Frame(Fenetre, padx = '20' , pady = '10')
Fenetre_secondaire.pack(side = BOTTOM, pady = '70')
Sous_titre = Label(Fenetre_secondaire, text = 'Entrez votre prenom ci dessous',\
font = ("Franklin Gothic Demi" , 20 ))
Sous_titre.pack(side = TOP,pady = '10')
Validation = Button(Fenetre_secondaire, text = 'Valider', font = ("Franklin Gothic Demi" , 15 ), bd = 5\
,padx = '50' )
Validation.pack(padx = '30' ,side = RIGHT)
Demande_prenom = Entry(Fenetre_secondaire, width = '50',font = ("Franklin Gothic Demi" , 25 ))
Demande_prenom.pack(side = LEFT)
Fenetre.mainloop()
print("Bonjour", prenom, '.')
regles = 'Voici les règles du jeu : Vous aurez 10 questions à choix multiples\
portant sur le thème de la NSI.Vous devrez répondre par A, B, C ou D. Si\
vous répondez juste au premier essai , vous gagnez 1 point. Si votre réponse\
est fausse, vous pourrez choisir de réessayer ou non. Si vous répondez juste\
au deuxième essai, vous gagnez 0.5 point mais si votre réponse est encore\
fausse, vous perdez 1 point. Votre score vous sera donné à la fin. Bonne\
chance et amusez-vous bien !'
#deuxieme design
Fenetre_secondaire = Frame(Fenetre, padx = '30', bg = '#E7271B')
Fenetre_secondaire.pack(side = BOTTOM, pady = '20')
Sous_titre = Label(Fenetre, text = regles,\
font = ("Franklin Gothic Demi" , '20' ), pady = '150', padx = '5')
Sous_titre.pack(expand = YES)
Demande_prenom = Button(Fenetre_secondaire, text = 'Refuser', font = ("Franklin Gothic Demi" , 15 ), bd = 5\
,padx = '100')
Demande_prenom.pack(side = LEFT)
Validation = Button(Fenetre_secondaire, text = 'Valider', font = ("Franklin Gothic Demi" , 15 ), bd = 5\
,padx = '100')
Validation.pack(padx = '30' ,side = RIGHT)
Fenetre.mainloop()
Sauf que je n'ai ni trouvé, ni compris comment est-ce que je peux passer d'une frame a une autre en demandant a l'utilisateur d'appuyer sur un bouton. Et comment est ce que je peux mettre la valeur que l'utilisateur a entré dans une Entry dans une variable et que seras réutilisée plus tard
C'est pour ça qu'il y a des tutos, histoire de comprendre comment ça marche avant de se lancer dans l'aventure.
Sauf que je n'ai ni trouvé, ni compris comment est-ce que je peux passer d'une frame a une autre en demandant a l'utilisateur d'appuyer sur un bouton.
Comme vous l'a dit mps, vous ne maîtrisez pas les bases de la programmation par événements puisque vous pensez que ça va marcher en créant deux mainloop successives.
Concernant le widget Entry et récupérer la chaîne fournie, regardez cet exemple.
Pour le frame, tout dépend de ce que vous voulez faire.
Coder (proprement) un QCM à peu près ergonomique n'est pas si simple, et si c'est votre premier projet, vous allez certainement avoir du mal au vu des questions que vous avez posées.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Découverte Python Doc Tkinter Les chaînes de caractères