IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

TypeError: 'module' object is not callable [Python 3.X]


Sujet :

Tkinter Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 31
    Points : 33
    Points
    33
    Par défaut TypeError: 'module' object is not callable
    Bonjour,

    Je crée un programme qui doit redimensionner une image puis l'afficher à l'intérieur d'un bouton (dans le code qui suit le redimensionnement est désactivé). Voila le code:

    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
     
    from PIL import Image, ImageTk
    from tkinter import PhotoImage, Tk, Button
     
     
    def resizeImage(file):
     
     
        hauteurR  = 300
     
     
        x= file.width
        y= file.height
     
     
        file =  file.resize( (int((hauteurR*x) / y) , hauteurR) )
     
     
     
        return file
     
     
    ################################
     
    mario = Image.open("1.png")
     
    print(mario.width)
    print(mario.height)
     
     
     
    #mario = resizeImage(mario)
     
    print(mario.width)
    print(mario.height)
     
    #mario.show()
     
    root = Tk()
     
    mario = ImageTk(mario)
     
    bouton = Button(root, image= mario)
    bouton.place(x=10,y=10, width=800, height=450)
    Seulement, lorsque je lance mon programme la console me renvoie cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Traceback (most recent call last):
      File "C:\Users\Thomas\Desktop\Test Resize Image\R.py", line 42, in <module>
        mario = ImageTk(mario)
    TypeError: 'module' object is not callable
    >>>
    Auriez-vous une solution à me proposez?
    Merci.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 302
    Points : 6 782
    Points
    6 782
    Par défaut
    Salut,

    ImageTk est un module, tu dois choisir une des classes qui te convient ImageTk.BitmapImage(image=None, **kw) ou bien ImageTk.PhotoImage(image=None, size=None, **kw)
    Voir ici: https://pillow.readthedocs.io/en/5.2...e/ImageTk.html

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 31
    Points : 33
    Points
    33
    Par défaut
    Merci VinsS, maintenant tout fonctionne bien.

    Voila le code, pour ceux que ça intéresserait:

    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
     
    from PIL import Image, ImageTk
    from tkinter import PhotoImage, Tk, Button
     
     
    def resizeImage(file):
     
     
        hauteurR  = 300
     
     
        x= file.width
        y= file.height
     
     
        file =  file.resize( (int((hauteurR*x) / y) , hauteurR) )
     
     
     
        return file
     
     
    ################################
     
    mario = Image.open("1.png")
     
    print(mario.width)
    print(mario.height)
     
     
     
    mario = resizeImage(mario)
     
    print(mario.width)
    print(mario.height)
     
    #mario.show()
     
     
     
    root = Tk()
     
    mario = ImageTk.PhotoImage(image=mario)
     
    bouton = Button(root, image= mario)
    bouton.place(x=10,y=10, width=800, height=450)
     
     
     
    root.mainloop()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. TypeError: 'module' object is not callable
    Par dedalios dans le forum Général Python
    Réponses: 1
    Dernier message: 08/09/2017, 18h41
  2. Réponses: 2
    Dernier message: 05/12/2016, 13h47
  3. erreur python 'module' object is not callable
    Par dimele dans le forum Général Python
    Réponses: 4
    Dernier message: 03/04/2014, 08h31
  4. [THREAD] TypeError: NoneType' object is not callable
    Par flolebreton dans le forum Général Python
    Réponses: 2
    Dernier message: 24/06/2013, 14h49
  5. TypeError: 'file' object is not callable
    Par MariemEA dans le forum Général Python
    Réponses: 7
    Dernier message: 09/07/2010, 21h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo