Bonjour à tous,

Je suis actuellement en Terminale avec Spécialité ISN et j'ai donc un programme a réaliser pour la fin d'année.

Nous avons choisi la programmation d'un Générateur de Calcul mental. Je me charge de l'interface cependant, j'ai un problème lors de l'ouverture des sous-fenêtres, je m'explique. J'ai crée une page d'accueil ou l'on peut choisir son mode de difficulté, pour commencer, j'avais créé les pages des modes de difficultés en "Fenetre=Tk()", cependant j'avais des problèmes me disant "pyimage1 doesn't exist". J'ai donc trouvé des informations qui disaient d'utiliser le module TopLevel.
Cependant lorsque je met mes autres pages en TopLevel, j'obtiens l'erreur suivante : "AttributeError: 'function' object has no attribute 'tk' "

Je vous laisse les lignes principales du code en espérant que vous pourrez m'aider, je précise que je suis débutant et que je ne comprends donc pas tout a propos de la programmation, merci d'avance !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 def accueil():                  #Première interface, l'accueil dès l'ouverture du programme#
 
    accueil=Tk();
    accueil.title('Générateur de calcul mental');
    accueil.geometry("800x480");
 
    FondAccueil=Canvas(accueil, width=800, height=480)
    FondAccueil.create_text(410,55,text="CALCUL MENTAL",font=('Courier',50,'bold','underline'));
    FondAccueil.place(x=0,y=0)
                                                         #Definition des boutons des niveaux de difficultés#
 
                                                          #Bouton Facile#
    BFacile=Button(accueil,text="Facile",relief=GROOVE,command=pagecalculFACILE());
    BFacile.place(x=225,y=125);
                                                            #Bouton Moyen#
    BMoyen=Button(accueil,relief=GROOVE,command=pagecalculMOYEN());
    BMoyen.place(x=225,y=225);
 
                                                         #Bouton Difficile#
    BDifficile=Button(accueil,relief=GROOVE,command=pagecalculDIFFICILE());
    BDifficile.place(x=225,y=325);
 
 
                                                          #Definition du bouton high score#
    Bhs=Button(accueil, relief=GROOVE,command=pageHS);
    Bhs.place(x=720,y=400);
 
 
 
    accueil.mainloop();
 
def pagecalculFACILE():                                                                 #Deuxième interface : la page principale avec les calculs FACILES#
 
    pagecalculFACILE=Toplevel(accueil);
    pagecalculFACILE.title('Générateur de calcul mental');
    pagecalculFACILE.geometry("800x480");
 
    FondPP=Canvas(pagecalculFACILE, width=800, height=480, bg="blue");
    FondPP.create_text(410,50,text="Mode Facile",font=('Courier',50,'bold','underline'));
    FondPP.place(x=0,y=0);
 
    Timer=Label(pagecalculFACILE,text="Timer",height=5,width=15)                            #Label du timer#
    Timer.place(x=0,y=0);
 
    QRestantes=Label(pagecalculFACILE,text="/15",height=3,width=15)
    QRestantes.place(x=700,y=430);
 
    FondCalcul=Canvas(pagecalculFACILE,width=500,height=280);
    FondCalcul.create_rectangle(3,3,500,280,width=5,outline='red',fill='green')
    Calcul1=Label(FondCalcul,text="Def du programme",height=2,width=20)
 
    Result=Entry(pagecalculFACILE,width=10)                                                 #Saisie du résultat#
    Result.config(font='courier 35')
    FondCalcul.place(x=150,y=100)
    Result.place(x=265,y=250)
    Calcul1.place(x=90,y=50)
    Calcul1.config(font='courier 20')
 
 
    pagecalculFACILE.mainloop();
 
accueil()