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 :

Problème affichage d'image


Sujet :

Tkinter Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Problème affichage d'image
    Bonsoir,
    J'ai fait un petit programme avec Tkinter qui permettrai d'afficher une image lorsque l'utilisateur entrerai '2' dans le champs de texte. Mais l'image ne s'affiche pas et j'ai cette erreur "AttributeError: type object 'Image' has no attribute 'open'"

    Voici mon programme :

    --------------------------------

    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
    from tkinter import *
     
    i=''
     
    dicimg = {}
     
     
    def valider():
        i=saisi.get()
        print (i)      
        if i=='2':
     
            im=Image.open("molly.png") 
            photo = ImageTk.PhotoImage(im) 
            dicimg['img1'] = photo
            item = cadre.create_image(320,240,image =photo) 
            print("charger image")
     
     
    fen1=Tk()
     
    value = StringVar() 
    value.set("Entrez la référence")
     
    saisi=Entry(fen1, textvariable=value)
    saisi.pack()
     
     
    bouton1=Button(fen1, text="Valider", command=valider)
    bouton1.pack()
    fen1.mainloop()
    ------------------------------------

    Une aide serai la bienvenue. Bonne soirée Rom

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Les versions récentes (de TCL/Tk) supportent le format .png mais la syntaxe est PhotoImage(file=....).
    Pour les plus anciennes, il faut utiliser PIL...
    Et c'est de là qu'on peut imaginer que sortent Image et ImageTk mais... encore faut-il les importer.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Ma version de python est récente : le code dans le if à été trouvé sur le net. Concrètement il faudrait changer quoi ?

  4. #4
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    A minima, un "from PIL import Image" en préambule.
    Pas d'aide par mp.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par romapple Voir le message
    Ma version de python est récente : le code dans le if à été trouvé sur le net. Concrètement il faudrait changer quoi ?
    Il me semble vous avoir indiqué cela dans la réponse précédente.
    Ah oui, c'est du français, diantre!
    C'est bien de récupérer ses codes sur Internet mais si vous ne savez pas les recopier ou comprendre ce qu'ils font, quel est l'intérêt?
    Pour essayer de comprendre, il faut commencer par un peu de lecture.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    On peut commencer par cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    from tkinter import Tk, Canvas
    from PIL import Image, ImageTk
     
    fen1 = Tk()
     
    canvas = Canvas(width=500, height=500, bg='white')
    canvas.pack()
    image = Image.open("lena.jpg")
    photo = ImageTk.PhotoImage(image)
    canvas.create_image(250, 250, image=photo)
     
    fen1.mainloop()
    Pas d'aide par mp.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonsoir j'ai suivi vos conseils et modifié mon programme, lorsque que je rentre le chiffre 2 il y a bien un Canvas blanc d'une certaine taille qui s'affiche mais l'image n'est pas à l’intérieur.

    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
     
    from tkinter import *
    from PIL import Image, ImageTk
     
    i=''
     
     
    def valider():
        i=saisi.get()
        print (i)      
        if i=='2':
     
            canvas = Canvas(width=500, height=500, bg='white')
            canvas.pack()
            image = Image.open("z.png")
            photo = ImageTk.PhotoImage(image)
            canvas.create_image(300, 300, image=photo)
     
     
    fen1=Tk()
     
    value = StringVar() 
    value.set("Entrez la référence")
     
    saisi=Entry(fen1, textvariable=value)
    saisi.pack()
     
     
     
    bouton1=Button(fen1, text="Valider", command=valider)
    bouton1.pack()
    fen1.mainloop()

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par romapple Voir le message
    Bonsoir j'ai suivi vos conseils et modifié mon programme, lorsque que je rentre le chiffre 2 il y a bien un Canvas blanc d'une certaine taille qui s'affiche mais l'image n'est pas à l’intérieur.
    Ah ben oui, le dicimg du premier programme n'est pas une option dont on peut se débarrasser comme çà.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Merci pour votre aide ça fonctionne !!!

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

Discussions similaires

  1. Problème affichage d'images
    Par Fax37 dans le forum Applets
    Réponses: 5
    Dernier message: 11/10/2010, 11h50
  2. Problème affichage d'image
    Par stouf() dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 18/09/2009, 15h19
  3. Problème affichage d'image
    Par dave312 dans le forum C#
    Réponses: 9
    Dernier message: 17/01/2008, 13h51
  4. [W3C] problème affichage d'image dans iframe
    Par pas30 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 04/09/2007, 23h30
  5. problème affichage 2 images
    Par BernardT dans le forum Flash
    Réponses: 1
    Dernier message: 26/01/2007, 08h16

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