Menu

Image de fond tkinter [Résolu]

Rilex 7 Messages postés vendredi 4 mai 2018Date d'inscription 13 mai 2018 Dernière intervention - 4 mai 2018 à 10:39 - Dernière réponse : yg_be 5603 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 22 mai 2018 Dernière intervention
- 13 mai 2018 à 21:09
voici mon code:
import tkinter as tk


def crypt():
pass


fenetre_crypt = tk.Tk()
fenetre_crypt.title("Cryptage")
fenetre_crypt.geometry("700x500+270+200")

######################## Fond d'écran ######################################
image_fond = tk.PhotoImage(file="tennis.png")
image = tk.Canvas(fenetre_crypt, width=0, height=0)
image.pack(fill=tk.BOTH, expand=True)
image.create_image(0, 0, image=image_fond, anchor=tk.NW)

l'objectif est d'ouvrir une fenêtre avec une image de fond mais j'ai une erreur que voici:
self.tk.call(('image', 'create', imgtype, name,) + options)
_tkinter.TclError: couldn't open "tennis.png": no such file or directory

la fenêtre s'ouvre mais sans l'image de fond est idle me donne c'est erreur merci de bien vouloir m'aider.
Afficher la suite 

Votre réponse

7 réponses

0
Utile
Bonjour.

Place ceci au début de ton script pour comprendre ce qu'il se passe.

import os

def existence_image(image):
    if not os.path.isfile(image):
        print("l'image", image, "n'existe pas !")
    else:
        print("l'image ", image, "existe !")


existence_image('tennis.png')
print('répertoire de travail :', os.getcwd())
print('*******************')
os.chdir(os.path.dirname(__file__))
existence_image('tennis.png')
print('répertoire de travail :', os.getcwd())
Rilex 7 Messages postés vendredi 4 mai 2018Date d'inscription 13 mai 2018 Dernière intervention - 5 mai 2018 à 10:35
il me dit qu mon répertoire est : D:\****\Desktop\ISN
et quand j'y accéde j'y trouve dedans l'image de tennis.png donc je ne comprend pas mon erreur .
Rilex 7 Messages postés vendredi 4 mai 2018Date d'inscription 13 mai 2018 Dernière intervention - 5 mai 2018 à 12:23
C'est bizarre maintenant j'ai ceci :
l'image tennis.png existe !
répertoire de travail : D:\*****\Desktop\ISN
l'image tennis.png existe !
répertoire de travail : D:\****\Desktop\ISN


Traceback (most recent call last):
File "D:\****\Desktop\ISN\new 1.py", line 31, in <module>
image_fond = tk.PhotoImage(file="tennis.png")
File "C:\Users\***\AppData\Local\Programs\Python\Python36-32\lib\tkinter\__init__.py", line 3539, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "C:\Users\***\AppData\Local\Programs\Python\Python36-32\lib\tkinter\__init__.py", line 3495, in __init__
self.tk.call(('image', 'create', imgtype, name,) + options)
_tkinter.TclError: couldn't recognize data in image file "tennis.png"



voila il indique que l'image existe mais pourtant la fenêtre s'ouvre sans l'image et il y a cette erreur .
critou > Rilex 7 Messages postés vendredi 4 mai 2018Date d'inscription 13 mai 2018 Dernière intervention - 5 mai 2018 à 18:02
Bonjour.

tkinter n'arrive pas à reconnaître le type de ton image, as-tu testé avec une autre image png pour voir si ça fonctionne ? Et avec une image de type gif également pour vérifier.
Rilex 7 Messages postés vendredi 4 mai 2018Date d'inscription 13 mai 2018 Dernière intervention - 13 mai 2018 à 19:36
Merci beaucoup cela fonctionne maintenant avec une image en gif.
yg_be 5603 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 22 mai 2018 Dernière intervention > Rilex 7 Messages postés vendredi 4 mai 2018Date d'inscription 13 mai 2018 Dernière intervention - 13 mai 2018 à 21:09
parfait, peux-tu marquer comme résolu, en utilisant la roue dentée à droite du titre?
Commenter la réponse de critou