Menu

Aide exécution programme [Résolu]

Messages postés
9
Date d'inscription
lundi 22 avril 2019
Statut
Membre
Dernière intervention
1 mai 2019
-
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

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()
Afficher la suite 

Votre réponse

1 réponse

Messages postés
326
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
6 mai 2019
74
0
Merci
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.
quent217
Messages postés
326
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
6 mai 2019
74 > Skyrigel
Messages postés
9
Date d'inscription
lundi 22 avril 2019
Statut
Membre
Dernière intervention
1 mai 2019
-
Vous avez bien mis le nom comme ceci "P:\\Mes documents\\Projet ISN\\Image1.jpg'" ? Avez-vous vérifié que le chemin est le bon, y compris le lecteur P ? Le nom de l'image et l'extention aussi ?
Pour être sûr, faites un clic droit sur l'image puis Propriétés.
Skyrigel
Messages postés
9
Date d'inscription
lundi 22 avril 2019
Statut
Membre
Dernière intervention
1 mai 2019
-
En regardant sur Propriétés j'ai ce raccourci suivant : C:\Users\skyri\OneDrive\Bureau\Projet ISN
J'ai essayé avec celui ci sans succès.
Le lecteur P est-il nécessaire dans ce cas ?
quent217
Messages postés
326
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
6 mai 2019
74 > Skyrigel
Messages postés
9
Date d'inscription
lundi 22 avril 2019
Statut
Membre
Dernière intervention
1 mai 2019
-
Non il ne faut pas utiliser P mais C comme ceci : "C:\\Users\\skyri\\OneDrive\\Bureau\\Projet ISN\\Image1.jpg'"
Sinon si l'image se trouve dans le même dossier que le programme, vous pouvez aussi utiliser le chemin relatif en mettant juste "Image1.jpg".
Skyrigel
Messages postés
9
Date d'inscription
lundi 22 avril 2019
Statut
Membre
Dernière intervention
1 mai 2019
-
ça a marché, merci beaucoup du temps que vous avez pris pour m'aider, bonne soirée !
quent217
Messages postés
326
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
6 mai 2019
74 > Skyrigel
Messages postés
9
Date d'inscription
lundi 22 avril 2019
Statut
Membre
Dernière intervention
1 mai 2019
-
Je vous en prie :)
Vous pouvez marquer le sujet en résolu en cliquant en haut à droite de votre premier message.
Commenter la réponse de quent217