Я пытаюсь заставить tkinter открыть изображение, выбранное пользователем из приглашения файлового браузера, и отобразить его на холсте. Я планирую отредактировать это изображение позже, поэтому я использую PIL для редактирования и поддержки других типов файлов. Однако, когда я пытаюсь отобразить изображение, ничего не отображается и ошибок не возникает. Я действительно не знаю, почему это так. Я думаю, это может быть потому, что Image - это имя модуля, используемое как в tkinter, так и в PIL, но я не знаю наверняка.
Код:
from tkinter import *
from tkinter import filedialog
from PIL import ImageTk, Image
root = Tk()
canvas = Canvas(root, width=300, height=300)
canvas.pack(expand=YES, fill=BOTH)
img = Image.open(
filedialog.askopenfilename(title="Select file", filetypes=(("jpeg files", "*.jpg"), ("all files", "*.*"))))
canvas.create_image(0, 0, image=ImageTk.PhotoImage(img), anchor=NW)
canvas.update()
root.mainloop()