Aide exécution programme
Résolu
Skyrigel
Messages postés
9
Statut
Membre
-
quent217 Messages postés 424 Statut Membre -
quent217 Messages postés 424 Statut Membre -
Bonjour, je réalise un petit sondage de santé qui, suite à l'obtention de la tranche d'âge, du sexe et du niveau d'activité, ouvre une des 24 images possibles correspondant à l'apport énergétique et au temps de sommeil nécessaire pour la personne qui y répond.
Cependant j'ai relié le programme dans une fenêtre TopLevel pour faire une petite page d'accueil, et lorsqu'on valide nos réponses, rien ne se passe.
Sauriez-vous pourquoi ?
Merci
Cependant j'ai relié le programme dans une fenêtre TopLevel pour faire une petite page d'accueil, et lorsqu'on valide nos réponses, rien ne se passe.
Sauriez-vous pourquoi ?
Merci
from tkinter import * from PIL import ImageFilter from PIL import Image as PIL def bilan(): var1 = IntVar() var2 = IntVar() var3 = IntVar() var4 = IntVar() var5 = IntVar() var6 = IntVar() var7 = IntVar() var8 = IntVar() var9 = IntVar() var10= IntVar() masc = var1.get() fem = var2.get() age1 = var3.get() age2 = var4.get() age3 = var5.get() sed = var6.get() peuac = var7.get() act = var8.get() tact = var9.get() if masc == 1: homme = 1 femme = 0 elif masc == 0: homme = 0 if fem == 1: homme = 0 femme = 1 elif fem == 0: femme = 0 if age1 == 1: 19<=age<=30 age2 = 0 age3 = 0 if age2 == 1: 31<=age<=50 age1 = 0 age3 = 0 if age3 ==1: 51<=age age1 = 0 age2 = 0 if sed==1: peuac == 0 act == 0 tact == 0 if peuac==1: sed == 0 act == 0 tact == 0 if act==1: sed==0 peuac==0 tact==0 if tact==1: sed==0 peuac==0 act==0 if masc == 1 and age1 == 1 and sed == 1: image1 = PIL.open('P:\Mes documents\Projet ISN\Image1.jpg') image1.show() if masc == 1 and age1 == 1 and peuac == 1: image2 = PIL.open('P:\Mes documents\Projet ISN\Image2.jpg') image2.show() if masc == 1 and age1 == 1 and act == 1: image3 = PIL.open('P:\Mes documents\Projet ISN\Image3.jpg') image3.show() if masc == 1 and age1 == 1 and tact == 1: image4 = PIL.open('P:\Mes documents\Projet ISN\Image4.jpg') image4.show() if masc == 1 and age2 == 1 and sed == 1: image5 = PIL.open('P:\Mes documents\Projet ISN\Image5.jpg') image5.show() if masc == 1 and age2 == 1 and peuac == 1: image6 = PIL.open('P:\Mes documents\Projet ISN\Image6.jpg') image6.show() if masc == 1 and age2 == 1 and act == 1: image7 = PIL.open('P:\Mes documents\Projet ISN\Image7.jpg') image7.show() if masc == 1 and age2 == 1 and tact == 1: image8 = PIL.open('P:\Mes documents\Projet ISN\Image8.jpg') image8.show() if masc == 1 and age3 == 1 and sed == 1: image9 = PIL.open('P:\Mes documents\Projet ISN\Image9.jpg') image9.show() if masc == 1 and age3 == 1 and peuac == 1: image10 = PIL.open('P:\Mes documents\Projet ISN\Image10.jpg') image10.show() if masc == 1 and age3 == 1 and act == 1: image11 = PIL.open('P:\Mes documents\Projet ISN\Image11.jpg') image11.show() if masc == 1 and age3 == 1 and tact == 1: image12 = PIL.open('P:\Mes documents\Projet ISN\Image12.jpg') image12.show() if fem == 1 and age1 == 1 and sed == 1: image13 = PIL.open('P:\Mes documents\Projet ISN\Image13.jpg') image13.show() if fem == 1 and age1 == 1 and peuac == 1: image14 = PIL.open('P:\Mes documents\Projet ISN\Image14.jpg') image14.show() if fem == 1 and age1 == 1 and act == 1: image15 = PIL.open('P:\Mes documents\Projet ISN\Image15.jpg') image15.show() if fem == 1 and age1 == 1 and tact == 1: image16 = PIL.open('P:\Mes documents\Projet ISN\Image16.jpg') image16.show() if fem == 1 and age2 == 1 and sed == 1: image17 = PIL.open('P:\Mes documents\Projet ISN\Image17.jpg') image17.show() if fem == 1 and age2 == 1 and peuac == 1: image18 = PIL.open('P:\Mes documents\Projet ISN\Image18.jpg') image18.show() if fem == 1 and age2 == 1 and act == 1: image19 = PIL.open('P:\Mes documents\Projet ISN\Image19.jpg') image19.show() if fem == 1 and age2 == 1 and tact == 1: image20 = PIL.open('P:\Mes documents\Projet ISN\Image20.jpg') image20.show() if fem == 1 and age3 == 1 and sed == 1: image21 = PIL.open('P:\Mes documents\Projet ISN\Image21.jpg') image21.show() if fem == 1 and age3 == 1 and peuac == 1: image22 = PIL.open('P:\Mes documents\Projet ISN\Image22.jpg') image22.show() if fem == 1 and age3 == 1 and act == 1: image23 = PIL.open('P:\Mes documents\Projet ISN\Image23.jpg') image23.show() if fem == 1 and age3 == 1 and tact == 1: image24 = PIL.open('P:\Mes documents\Projet ISN\Image24.jpg') image24.show() def MenuTest(): fen1 = Toplevel(fen2) fen1.title("Ma Santé") can1 = Canvas(fen1,width=634, height=371) photo = PhotoImage(file="projet.png") can1.create_image(0, 0, anchor=NW, image=photo) can1.pack() var1 = IntVar() var2 = IntVar() var3 = IntVar() var4 = IntVar() var5 = IntVar() var6 = IntVar() var7 = IntVar() var8 = IntVar() var9 = IntVar() var10= IntVar() label = Label(fen1, text="Question 1 : Etes-vous un homme ou une femme ?", bg="ivory").pack() check_btn1 = Checkbutton(fen1, text="Homme",variable=var1).pack() check_btn2 = Checkbutton(fen1, text="Femme",variable=var2).pack() label = Label(fen1, text="Question 2 : Quel âge avez-vous ?", bg="ivory") label.pack() check_btn3 = Checkbutton(fen1, text="19-30ans",variable=var3).pack() check_btn4 = Checkbutton(fen1, text="31-50ans",variable=var4).pack() check_btn5 = Checkbutton(fen1, text="51-70ans",variable=var5).pack() label = Label(fen1, text="Question 3 : Etes-vous plutôt...", bg="ivory") label.pack() check_btn6 = Checkbutton(fen1, text="Sédentaire",variable=var6).pack() check_btn7 = Checkbutton(fen1, text="Peu actif(ve)",variable=var7).pack() check_btn8 = Checkbutton(fen1, text = "Actif(ve)", variable=var8).pack() check_btn9 = Checkbutton(fen1, text = "Très actif(ve)", variable=var9).pack() button_valide= Button(fen1, text="Valider",relief=RAISED, command=bilan).pack(side=BOTTOM) label2 = Label(fen1, text="Sédentaire = activités de la vie quotidienne, incluant jusqu’à 30 minutes de marche lente", bg="grey").pack() label3 = Label(fen1, text="Peu actif = 30 à 60 minutes d’activités d’intensité modérée, comme la marche rapide", bg="grey").pack() label4 = Label(fen1, text="Actif = plus au moins 60 minutes d’activités d’intensité modérée, comme la marche rapide", bg="grey").pack() label5 = Label(fen1, text="Très actif = plus au moins 60 minutes d’activités d’intensité modérée avec en plus 60 minutes d’activités d’intensité vigoureuse", bg="grey").pack() fen1.mainloop() fen2 = Tk() fen2.title("Test de Santé") boutonaccueil=Button(fen2, text="Commencer le Test", command=MenuTest).pack() can2 = Canvas(fen2,width=570, height=380) photo = PhotoImage(file="ecranaccueil.gif") can2.create_image(0, 0, anchor=NW, image=photo) can2.pack() fen2.mainloop()
A voir également:
- Aide exécution programme
- Programme demarrage windows - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
1 réponse
Bonjour,
au début de votre fonction bilan, vous redéfinissez les valeurs de var1, var2, etc. avec des nouveaux IntVar. Toutes les variables ont donc la valeur par défaut c'est à dire 0.
Il faut plutôt récupérer les variables var1, var2, etc. définis dans MenuTest. Vous pouvez par exemple les mettre dans une liste ou un dictionnaire qui sera passé en paramètre à la fonction bilan.
au début de votre fonction bilan, vous redéfinissez les valeurs de var1, var2, etc. avec des nouveaux IntVar. Toutes les variables ont donc la valeur par défaut c'est à dire 0.
Il faut plutôt récupérer les variables var1, var2, etc. définis dans MenuTest. Vous pouvez par exemple les mettre dans une liste ou un dictionnaire qui sera passé en paramètre à la fonction bilan.
Cependant dois-je créer ma liste dans une des fonctions ou en dehors de celle-ci ?
Et si je le fais en dehors comment puis-je récupérer la valeur des variables dans la liste, je me débrouille peu en listes...
Ou alors vous pouvez créer la liste en dehors des fonctions et la déclarer en tant que variable globale.
liste =[var1,var2,var3,var4,var5,var6,var7,var8,var9]
Cependant après avoir remplacé command=bilan par command=lambda:bilan(liste) j'ai ce message : TypeError: bilan() takes 0 positional arguments but 1 was given
Sauriez vous où ai-je fait une erreur ? Merci d'avance