La commande create_image est montrant une erreur pour le chemin que je suis en train de naviguer pour l'image et passer au paramètre d'image de la commande,Comment afficher une image dans un objet de toile dans tkinter en utilisant le chemin obtenu à partir du navigateur de fichiers
Traceback (most recent call last):
File "C:\Users\SAURAV DAS\AppData\Local\Programs\Python\Python35\projects\classify_gui.py", line 29,
in module cv.create_image(0, 0, image=photo, anchor='nw') AttributeError: 'NoneType' object has no attribute 'create_image'
est-il une autre façon je peux être en mesure de parcourir le chemin de l'image et l'afficher, comme dans
- changer la méthode de navigation pour le chemin de l'image
ou, Chan ge la méthode d'affichage de l'image dans l'objet canvas
J'utilise Python 3.5 sur Windows 10. J'ai installé toutes les bibliothèques pré-requises mentionnées dans le code. Toutes les images utilisées par moi sont dans le répertoire de travail en tant que mon projet.
S'il vous plaît aider ...import sys import tkinter as tk from PIL import Image,ImageTk,ImageFilter,ImageOps global fname fname = "images.png" def browse_file(): fname = tk.filedialog.askopenfilename(filetypes=(("Bitmap files", "*.bmp"), ("JPEG files", "*.jpg"), ("PNG files", "*.png"), ("All files", "*"))) print(fname) return def classify_obj(): print("In Development") return root = tk.Tk() root.wm_title("Classify Image") broButton = tk.Button(master=root, text='Browse', height=2, width=8, command=browse_file).grid(row=0, column=0, padx=2, pady=2) frame1 = tk.Frame(root, width=500, height=400, bd=2).grid(row=1, column=0) im = Image.open(fname) photo = ImageTk.PhotoImage(im) cv = tk.Canvas(frame1, height=390, width=490, background="white", bd=1, relief=tk.RAISED).grid(row=1,column=0) cv.create_image(0, 0, image=photo, anchor='nw') claButton = tk.Button(master=root, text='Classify', height=2, width=10, command=classify_obj).grid(row=0, column=1, padx=2, pady=2) frame2 = tk.Frame(root, width=500, height=400, bd=1).grid(row=1, column=1) cv = tk.Canvas(frame2, height=390, width=490, bd=2, relief=tk.SUNKEN).grid(row=1,column=1) tk.mainloop()
Est-ce que ma réponse à résoudre votre AttributeError? –
oui, c'est vrai. Merci pour cela par le biais –
Allright. Ensuite, veuillez cocher la case verte à côté de ma réponse pour montrer que votre problème a été résolu. –