Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1345 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Problème python command destroy()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème python command destroy()

n°2188161
thmachin57
Posté le 30-04-2013 à 11:05:17  profilanswer
 

Bonjour, je dois faire un projet sur python, mais j'ai actuellement un problème qui m'empêche de continuer la suite :
 
Dans ce programme ci-dessus, je demande à Python d’exécuter musiquepart_1() dans une sous-fenêtre (que je veux le supprimer plus tard), en cliquant sur le bouton suivant, le programme détruit la fenêtre et en créer une nouvelle. Dans cette nouvelle fenêtre, si l'utilisateur veut continuer le programme, il va cliquer sur suivant, mais malheureusement le programme s'arrête et met cette erreur : NameError: global name 'musique2' is not defined
 
J'ai passé beaucoup de temps à essayer de comprendre le problème mais je suis bloqué
Pourtant les 2 définitions musiquepart_1 et musique part_3 sont des copier/coller à quelques détails près
 

Code :
  1. # -*- coding: cp1252 -*-
  2. from Tkinter import *
  3. import Tkinter
  4. fenetre=Tkinter.Tk()
  5. fenetre.title('Quizz')
  6. fenetre.geometry('1000x600')
  7. def abandonmusique():
  8.     musique.destroy()
  9.     theme()
  10. def nextmusique():
  11.     musique2.destroy()
  12.     theme()
  13. def musiquepart_3():
  14.     import Tkinter
  15.     global fenetre,theme,selection,musique,musiquepart
  16.    
  17.     musique2=Tkinter.Frame(fenetre,width=580, height=600, padx=10, pady=10)
  18.     musique2.pack(side=TOP)
  19.     musique.destroy()
  20.    
  21.     questionM3=Label(musique2,text="Qui est Wolfgang Amadeus Mozart ?: ",font="Arial 13 bold" )
  22.     questionM3.place(x=20,y=80)
  23.     boutonM3A=Tkinter.Checkbutton(musique2,text="un compositeur",font="Arial 13 bold" )
  24.     boutonM3A.place(x=130,y=120)
  25.     boutonM3B=Tkinter.Checkbutton(musique2,text="un guitariste" )
  26.     boutonM3B.place(x=130,y=160)
  27.     boutonM3C=Tkinter.Checkbutton(musique2,text="un comédien",font="Arial 13 bold" )
  28.     boutonM3C.place(x=130,y=200)
  29.    
  30.     BoutonSuivantM1=Button(musique2, text="Suivant",command=nextmusique)
  31.     BoutonSuivantM1.place(x=190,y=520)
  32.    
  33. def musiquepart_1():
  34.     import Tkinter
  35.     global fenetre,theme,selection,musique,musiquepart
  36.    
  37.     musique=Tkinter.Frame(fenetre,width=580, height=600, padx=10, pady=10)
  38.     musique.pack(side=TOP)
  39.    
  40.     questionM1A=Label(musique,text="Combien de symphonies Beethoven a-t-il créer ?: ",font="Arial 13 bold" )
  41.     questionM1A.place(x=20,y=80)
  42.     reponseM1A=Tkinter.Checkbutton(musique,text="8 symphonies",font="Arial 13 bold" )
  43.     reponseM1A.place(x=130,y=120)
  44.     reponseM1B=Tkinter.Checkbutton(musique,text="9 symphonies",font="Arial 13 bold" )
  45.     reponseM1B.place(x=130,y=160)
  46.    
  47.    
  48.     BoutonSuivantM1=Button(musique, text="Suivant",command=musiquepart_3)
  49.     BoutonSuivantM1.place(x=190,y=520)
  50. musiquepart_1()
  51. fenetre.mainloop()


 
Merci de m'aider car là je suis vraiment perdu
PS : Je n'ai pas défini les sous-fenêtre au début du programme car cela donne beaucoup de soucis à la suite, je préfère les afficher dans le programme


Message édité par thmachin57 le 02-05-2013 à 16:10:48
mood
Publicité
Posté le 30-04-2013 à 11:05:17  profilanswer
 

n°2199456
yvkoe
Posté le 05-08-2013 à 17:39:59  profilanswer
 

"    
    musique2=Tkinter.Frame(fenetre,width=580, height=600, padx=10, pady=10)
    musique2.pack(side=TOP)
    musique.destroy()
cela ne te donne pas une petite idée?
Un frame ce n'est ni une variable, ni un objet.
Si tu veux te servir de musique2 il faut peut etre le définir  ;-)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Problème python command destroy()

 

Sujets relatifs
Problème sur une boucleProblème de variable
PROBLEME AVEC SE BATCHProblème upload
problème avec l'affichage de requette sqlproblème PDO --> exploitation des colonnes retournées
problème avec l'affichage de mas page phpProblème de script de compte à rebours + affichage lien
probleme image de fond dreamweaver MX change de taille par rapport a lProblème de compréhension d'un bout de code
Plus de sujets relatifs à : Problème python command destroy()


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR