Partage
  • Partager sur Facebook
  • Partager sur Twitter

RuntimeError: maximum recursion depth exceeded while calling

a python objet

Sujet résolu
    11 décembre 2010 à 3:49:53

    Bonjours

    Avec ce code:
    from tkinter import*
    from Module import*
    
    
    
    fen = Tk()
    
    Canv = Canvas(fen, bg='white', height=200, width=200)
    Canv.pack()
    Button(fen, text='0_o', command= peur).pack()
    
    fen.mainloop()
    


    et ce module:
    import os
    from tkinter import*
    import pygame
    
    pygame.mixer.init()
    pygame.mixer.music.load('exo.mp3')
    pygame.mixer.music.play()
            
    class peur(Tk):
        def __init__(self):
            fen = Toplevel()
            self.Canvas = Canvas(fen, bg='white', height=800, width=1000)
    
            self.exo = PhotoImage(file = os.path.join('Module', 'Nouveau dossier','Nouveau dossier', '000.gif'))
            self.Canvas.create_image(500,400, image= self.exo)
    
    peur().fen.mainloop()
    


    J'obtient: (code principal)
    RuntimeError: maximum recursion depth exceeded while calling a Python object


    ou: (module)
    RuntimeError: maximum recursion depth exceeded


    Ca veut dire quoi? C'est quoi? Comment le resoudre?

    Merci d'avance :-°
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      11 décembre 2010 à 9:30:29

      Je ne vois pas dans ton module où tu as packé ton canvas dans ton frame???
      • Partager sur Facebook
      • Partager sur Twitter
        11 décembre 2010 à 10:18:39

        Si tu nous mettais l'erreur complète (avec le backtrace) ce serait plus facile...

        Sinon, c'est normal que tu appelles la méthode mainloop() dans tes deux modules ?
        Il manquerait pas un if __name__ == '__main__': par hasard ? :p
        • Partager sur Facebook
        • Partager sur Twitter
        Zeste de Savoir, le site qui en a dans le citron !
          11 décembre 2010 à 23:57:28

          ...
            File "C:\Python31\lib\tkinter\__init__.py", line 1708, in __getattr__
              return getattr(self.tk, attr)
            File "C:\Python31\lib\tkinter\__init__.py", line 1708, in __getattr__
              return getattr(self.tk, attr)
            File "C:\Python31\lib\tkinter\__init__.py", line 1708, in __getattr__
              return getattr(self.tk, attr)
            File "C:\Python31\lib\tkinter\__init__.py", line 1708, in __getattr__
              return getattr(self.tk, attr)
          RuntimeError: maximum recursion depth exceeded while calling a Python object


          Citation : NoHaR


          Sinon, c'est normal que tu appelles la méthode mainloop() dans tes deux modules ?



          Oui le programme doit afficher une autre fenêtre quand on clique sur le bouton de la première.
          Et il n'y a qu'un seul module...
          • Partager sur Facebook
          • Partager sur Twitter
            12 décembre 2010 à 12:07:25

            Je crois que tu as oublié un self.

            class peur(Tk):
                def __init__(self):
                    self.fen = Toplevel()
            

            • Partager sur Facebook
            • Partager sur Twitter

            RuntimeError: maximum recursion depth exceeded while calling

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown