Image de fond tkinter

Résolu/Fermé
Rilex Messages postés 7 Date d'inscription vendredi 4 mai 2018 Statut Membre Dernière intervention 13 mai 2018 - 4 mai 2018 à 10:39
yg_be Messages postés 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 - 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.
A voir également:

1 réponse

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())
1
Rilex Messages postés 7 Date d'inscription vendredi 4 mai 2018 Statut Membre Dernière intervention 13 mai 2018
5 mai 2018 à 10:28
Merci beaucoup.J 'ai essayer cela ma expliquer que l'image tennis.png n'existe pas !
Dans le répertoire de travail pourtant elle est bien dans le meme dossier que le code alors il faudrait que je place plutôt le chemin complet pour y accéder ?
0
Rilex Messages postés 7 Date d'inscription vendredi 4 mai 2018 Statut Membre Dernière intervention 13 mai 2018
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 .
0
Rilex Messages postés 7 Date d'inscription vendredi 4 mai 2018 Statut Membre Dernière intervention 13 mai 2018
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 .
0
critou > Rilex Messages postés 7 Date d'inscription vendredi 4 mai 2018 Statut Membre Dernière intervention 13 mai 2018
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.
0
Rilex Messages postés 7 Date d'inscription vendredi 4 mai 2018 Statut Membre Dernière intervention 13 mai 2018
13 mai 2018 à 19:36
Merci beaucoup cela fonctionne maintenant avec une image en gif.
0