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 :

Afficher une image avec PhotoImage


Sujet :

Tkinter Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut Afficher une image avec PhotoImage
    Bonjour,

    je veux importer des images dans un canvas j'ai importé tkinter en entier mais quand je fais
    >>> photo=PhotoImage(file='garou.gif')
    j'ai droit à l'erreur
    Traceback (most recent call last):
    File "<interactive input>", line 1, in <module>
    File "C:\Python25\lib\lib-tk\Tkinter.py", line 3270, in __init__
    Image.__init__(self, 'photo', name, cnf, master, **kw)
    File "C:\Python25\lib\lib-tk\Tkinter.py", line 3211, in __init__
    raise RuntimeError, 'Too early to create image'
    RuntimeError: Too early to create image


    Je ne vois pas pourquoi ça ne marche pas, quelqu'un peut m'aider?

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Il faut déjà créer une instance Tk et ca devrait passer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> root = Tk()
    >>> photo=PhotoImage(file='garou.gif')

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Ca ne change rien (et j'ai un autre bug puisqu'aucune fenetre n'apparait... enfin on va regler les trucs dans l'ordre...)

  4. #4
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Tu n'as pourtant plus l'erreur initial ?
    Pas contre c'est normal que rien ne s'affiche. il faut en écrire un peu plus

    Pour du Tkinter, je te conseille de lire ceci:
    http://python.developpez.com/cours/T...e=Chapitre8#L8
    http://python.developpez.com/faq/?page=GUI

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    pardon j'ai oublié de copier le message:
    Traceback (most recent call last):
    File "<interactive input>", line 1, in <module>
    File "C:\Python25\lib\lib-tk\Tkinter.py", line 3270, in __init__
    Image.__init__(self, 'photo', name, cnf, master, **kw)
    File "C:\Python25\lib\lib-tk\Tkinter.py", line 3226, in __init__
    self.tk.call(('image', 'create', imgtype, name,) + options)
    TclError: couldn't open "garou.gif": no such file or directory


    En effet, on a changé d'erreur. D'après ce que je comprends, il ne trouve pas le fichier de l'image. Si c'est bien ça, ça rejoint le soucis que j'ai pour les scripts (http://www.developpez.net/forums/d71...pts-pythonwin/), auquel je n'ai toujours pas la solution...

  6. #6
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Il suffit de mettre le chemin complet du fichier ou bien de rajouter le répertoire dans le path (http://python.developpez.com/faq/?pa...es#Importation) ou bien se placer dans le bon répertoire (os.chdir(...))

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    et voici ce que ça donne

    >>> import sys
    >>> sys.path.append("C:\Users\cicelle\Documents\Etudes\Python")
    >>> photo = PhotoImage(file='garou.gif')
    Traceback (most recent call last):
    File "<interactive input>", line 1, in <module>
    File "C:\Python25\lib\lib-tk\Tkinter.py", line 3270, in __init__
    Image.__init__(self, 'photo', name, cnf, master, **kw)
    File "C:\Python25\lib\lib-tk\Tkinter.py", line 3226, in __init__
    self.tk.call(('image', 'create', imgtype, name,) + options)
    TclError: couldn't open "garou.gif": no such file or directory

  8. #8
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    il faut penser à afficher (avec print) les variables/constantes pour être sûr que tout se passe bien:
    http://python.developpez.com/faq/?pa...g#strBackslash

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    il a bien pris le nouveau chemin en note:
    >>> print sys.path
    ['', 'C:\\Windows\\system32\\python25.zip', 'C:\\Python25\\DLLs', 'C:\\Python25\\lib', 'C:\\Python25\\lib\\plat-win', 'C:\\Python25\\lib\\lib-tk', 'C:\\Python25\\Lib\\site-packages\\pythonwin', 'C:\\Python25', 'C:\\Python25\\lib\\site-packages', 'C:\\Python25\\lib\\site-packages\\PIL', 'C:\\Python25\\lib\\site-packages\\win32', 'C:\\Python25\\lib\\site-packages\\win32\\lib', 'C:\\Users\\cicelle\\Documents\\Etudes\\Python']

  10. #10
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    oui en fait, mettre le chemin dans le path ne fonctionne pas ( c'est normal, je ne sais pas pourquoi je t'ai proposé cela, désolé de t'avoir mis sur une fausse piste). Il faut donc rester avec les 2 autres solutions

    En tout cas, pour afficher une image sur un widget:
    http://python.developpez.com/faq/?pa...et#WidgetImage

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Merci beaucoup, ça marche maintenant!

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

Discussions similaires

  1. Afficher une image avec PHP
    Par a_zouggari dans le forum Langage
    Réponses: 2
    Dernier message: 22/04/2006, 18h02
  2. Afficher une image avec opengl
    Par kmaniche dans le forum OpenGL
    Réponses: 4
    Dernier message: 07/02/2006, 09h04
  3. Afficher une image avec swing
    Par arnonote dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 07/08/2004, 12h10
  4. PL/SQL - Comment afficher une image avec HTP ?
    Par patmaba dans le forum PL/SQL
    Réponses: 2
    Dernier message: 08/07/2004, 09h28

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