Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec Tkinter (Attributerror)

Sujet résolu
    29 décembre 2015 à 17:28:22

    Bonjour,

    J'essaie avec PIL de commencer par faire un petit programme simple qui m'affiche une fenêtre qui dessine un canvas avec des choix (menus en casace) : 


    En voici le code :

    from PIL import ImageTk , Image
    import Tkinter
    
    def affiche():
       Tkinter.messagebox.showinfo("ESSAI")
       
    root = Tkinter.Tk()
    
    c1=Tkinter.Canvas(root,width=720, height=480,bg='grey')
    c1.pack()
    
    menubar = Tkinter.Menu(root)
    
    filemenu = Tkinter.Menu(menubar, tearoff=0)
    
    
    filemenu.add_command(label="Choix 1", command=donothing)
    filemenu.add_command(label="Choix 2", command=donothing)
    filemenu.add_command(label="Choix 3", command=donothing)
    menubar.add_cascade(label="Menu 1", menu=filemenu)
    
    
    root.config(menu=menubar)
    root.mainloop()
    


    Seulement, j'ai à chaque fois l'erreur suivante :


    Exception in Tkinter callback

    Traceback (most recent call last):

      File "C:\Python26\lib\lib-tk\Tkinter.py", line 1410, in __call__

        return self.func(*args)

      File "C:\Users\---\Desktop\test.py", line 5, in affiche

        Tkinter.messagebox.showinfo("ESSAI")

    AttributeError: 'module' object has no attribute 'messagebox'

    Voilà je n'arrive pas à trouver la solution, j'ai cherché sur google mais à chaque fois c'est des cas précis, je pense que c'est au niveau de l'importation qu'il y a un souci !

    Merci d'avance pour votre aide !

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
    Anonyme
      29 décembre 2015 à 18:44:54

      import tkMessageBox
      Tout simplement...

      -
      Edité par Anonyme 29 décembre 2015 à 18:45:47

      • Partager sur Facebook
      • Partager sur Twitter
        29 décembre 2015 à 21:40:03

        J'ai l'erreur suivante : NameError: global name 'tkMessageBox' is not defined

        Du coup avec ton truc Nada ça fonctionne, mais j'aimerais importer avec tous les autres modules de Tkinter. 

        Donc pour éviter de faire plein de import, je fais from Tkinter import * mais il ne me reconnaît plus mon root =Tkinter.Tk()

        par exemple. Comment y remédier ?

        Il me dit qu'il n'est pas défini alors que pourtant j'importe bien tout ce qu'il faut :/

        -
        Edité par saul.goodman12400 29 décembre 2015 à 21:50:53

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          29 décembre 2015 à 21:49:49

          Pourtant ça n'est pas le cas de ton code présenté ci-dessus...
          • Partager sur Facebook
          • Partager sur Twitter
            29 décembre 2015 à 21:51:24

            Oui pardon j'ai réédité mon message qui est plus clair
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              29 décembre 2015 à 21:53:50

              Je vois toujours pas le code modifié avec l'import de tkMessageBox
              • Partager sur Facebook
              • Partager sur Twitter

              Problème avec Tkinter (Attributerror)

              × 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