Partage
  • Partager sur Facebook
  • Partager sur Twitter

Afficher une image sur tkinter

    22 octobre 2017 à 23:21:12

    Salut, j'ai un petit problème pour afficher une image dans ma fenêtre Tkinter, quand j'execute mon programme, je vois un fond gris de la taille de ma photo à son positionnement mais pas l'image.

    couronne = PhotoImage(file='couronne.pbm')
    couronne = Label(main, image = couronne).grid()

    J'utilise cette technique pour faire apparaitre une photo de couronne, python trouve bien la photo mais affiche un carré gris au lieux de l'image, si quelqu'un à une réponse pour m'aider, je suis preneur. Merci

    Guillaume

    • Partager sur Facebook
    • Partager sur Twitter
      23 octobre 2017 à 10:14:00

      Salut,

      Vous venez de trouver le défaut de tkinter. Il est capricieux. Il ne prend pas tous les formats d'images.

      Vous avez deux choix:

      • soit, vous installez la bibliothèque Pillow (PIL), pour pouvoir lire les images directement par tkinter.
      • soit, vous trouvez un convertisseur de format (une application,  GIMP, ou Photoshop), en exportant le bon format.

      Pour le premier choix:

      Voici un lien, pour télécharger le .whl (wheel). Choisir la bonne version, selon votre architecture. (Il faut installer avec pip).

      Sinon, vous pouvez trouver le lien d'installation, par google.

      (Désolé, j'ai jamais installé python sur Windows.., il y surement des posts sur le forum.)

      Ensuite, pour lire les images avec tkinter suffit de:

      import tkinter as tk
      from PIL import Image, ImageTk
      
      def charger_image_tk(filename): ## LIRE NORMALEMENT
          return tk.PhotoImage(file=filename)
      
      def charger_image_pillow(filename): ## LIRE AVEC PILLOW
          img = Image.open(filename)
          return ImageTk.PhotoImage(img)
      
      
      #couronne = charger_image_tk('couronne.pbm')
      couronne = charger_image_pillow('couronne.pbm')

      Bonne chance

      A+

      -
      Edité par nolimitech 23 octobre 2017 à 10:14:31

      • Partager sur Facebook
      • Partager sur Twitter

      Afficher une image sur tkinter

      × 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