Я пытаюсь получить изображение для отображения на холсте tkinter.
Я знаю, что Canvas
работает с фигурами и текстом, но изображение не работает.
Я использую PIL
ImageTK.PhotoImage
, однако это также не работает при создании Tkinter.PhotoImage
с использованием изображения .ppm.
Изображение 'png'
хранится в том же каталоге, что и файл python.
import tkinter as tk
from PIL import Image, ImageTk
class Window:
def __init__(self):
self.window = tk.Tk()
self.window.title("COMP")
self.window.geometry("1200x600")
topframe = tk.Frame(self.window, highlightbackground='black', highlightthickness=1)
topframe.pack(side='top')
self.noteview = NoteView(topframe, self.songString)
class NoteView:
def __init__(self, frame):
self.canvas = tk.Canvas(frame, width=60, height=200)
self.canvas.pack()
self.canvas.create_text(15, 190, text='hi')
im = Image.open('png.png')
self.image = ImageTk.PhotoImage(im)
self.canvas.create_image(20, 20, anchor='nw', image=self.image)
w = Window()
Ошибка типа: объект PhotoImage не может быть вызван