[Python] Problème de frame

Problème de frame [Python] - Python - Programmation

Marsh Posté le 29-02-2016 à 16:36:04    

Bonjour,  
Pour commencer merci pour l'aide que vous m'apporterez :)
J'ai l'erreur si dessous lors de l'execution de mon script.
 
Le but étant d'afficher l'heure en haut a droite. Pour ce faire j'ai crée une frame côté droit et ajouté un label en haut de celle-ci.
J'ai du faire une erreur bête mais bon je la trouve pas. ça marche bien quand je l'integre dans une autre frame mais pas dans la frame4
 
Code erreur :  
# Le text d'erreur est le suiva,t :  
#     Label(Frame4,textvariable=heure,bg="dark slate grey", fg="white" ).pack()
#     NameError: name 'Frame4' is not defined
 
 

Code :
  1. from tkinter import *
  2. import time
  3. # Fonction cd mise à jour de l'heure tout les secondes.
  4. def maj():
  5.     # On arrive ici toutes les 1000 ms
  6.     heure.set(time.strftime('%H:%M:%S'))
  7.     Mafenetre.after(1000,maj)
  8. # Création de la fenêtre principale de mon programe
  9. Mafenetre = Tk()
  10. Mafenetre.title('ThugTux - Gros test Frame et Heure')
  11. Mafenetre['bg']='dark slate grey' # couleur de fond
  12. Mafenetre.geometry('800x200+0+0') # Dimention de ma fenetre
  13. # création d'un widget Frame dans la fenêtre principale
  14. Frame1 = Frame(Mafenetre,borderwidth=2,relief=FLAT)
  15. Frame1.pack(side=LEFT,padx=10,pady=10)
  16. # Mon second Widget.
  17. Frame2 = Frame(Mafenetre,borderwidth=2,relief=FLAT)
  18. Frame2.pack(side=LEFT,padx=10,pady=10)
  19. # Mon troisième Widget.
  20. Frame3 = Frame(Frame1,bg="white",borderwidth=2,relief=FLAT)
  21. Frame3.pack(side=LEFT,padx=10,pady=10)
  22. # Mon Quatrième Widget (celui pour l'heure)
  23. frame4 = Frame(Mafenetre,bg="dark slate grey",borderwidth=2,relief=FLAT,width=200, height=200,)
  24. frame4.pack(side=RIGHT,padx=10,pady=10)
  25. # création d'un widget Label et d'un widget Button dans un widget Frame
  26. Label(Frame1,text="Label 1" ).pack(padx=10,pady=10)
  27. Button(Frame1,text="Effacer",fg='navy',command=Frame1.destroy).pack(padx=10,pady=10)
  28. Label(Frame2,text="Label 2" ).pack(padx=10,pady=10)
  29. Button(Frame2,text="Effacer",fg='navy',command=Frame2.destroy).pack(padx=10,pady=10)
  30. Label(Frame3,text="Label 3",bg="white" ).pack(padx=10,pady=10)
  31. Button(Frame3,text="Effacer",fg='navy',command=Frame3.destroy).pack(padx=10,pady=10)
  32. # Création d'un widget Label
  33. heure = StringVar()
  34. Label(Frame4,textvariable=heure,bg="dark slate grey", fg="white" ).pack()
  35. maj()
  36. Mafenetre.mainloop()


---------------
--- Mon topik d'Ach/Ven ---
Reply

Marsh Posté le 29-02-2016 à 16:36:04   

Reply

Marsh Posté le 29-02-2016 à 18:02:20    

Sans parler Python, la dernière virgule ligne 30 elle n'est pas en trop?
 

Code :
  1. frame4 = Frame(Mafenetre,bg="dark slate grey",borderwidth=2,relief=FLAT,width=200, height=200 --->,<---)

Reply

Marsh Posté le 29-02-2016 à 20:21:46    

Effectivement ça ne change pas mon problème mais c'est source d'erreur, je ne l'avais point vu.
merci :)


---------------
--- Mon topik d'Ach/Ven ---
Reply

Marsh Posté le 29-02-2016 à 20:37:39    

Tes frames ont tous des majuscules, sauf le n°4. lignes 30+31.

Reply

Marsh Posté le 01-03-2016 à 08:20:01    

Ok merci c'étais bien ça, moi qui me demandais si les majuscules étais vraiment importantes :pt1cable:  
J'arrive pas a mettre l'heure en haut a droite, il faudrait que je schématise mes fram pour mieux le organiser.
 
Merci pour ton aide rapide, je continuerais mes premiers pas ce soir :D


---------------
--- Mon topik d'Ach/Ven ---
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed