您好,我正在尝试创建一个类构造函数来处理tkinter中的图像,因为我将在我的代码中使用许多图像,所以我需要一种使用图像的方法,而不需要使用这么多行代码。
我一直收到错误:
return _modes[mode]
KeyError: 'picture.png'代码如下:
from tkinter import *
import tkinter
from random import randint
from PIL import Image
from PIL import ImageTk
root = tkinter.Tk()
root.geometry('700x700')
class PhotoHandler:
def __init__(self,imagepath):
self.imagepath = imagepath
self.image = Image.open(self.imagepath)
self.image = ImageTk.PhotoImage(self.imagepath)
def returnn(self):
return self.image
search = PhotoHandler('picture.png').returnn()
root.mainloop()发布于 2020-08-20 22:47:15
您向tkinter图像传递了一个字符串。它需要一个PIL图像或模式。因为您传递了一个字符串,所以它认为您使用的是无效模式。而是传递图像:
class PhotoHandler:
def __init__(self,imagepath):
self.imagepath = imagepath
self.image = Image.open(self.imagepath)
self.image = ImageTk.PhotoImage(self.image)
def returnn(self):
return self.image
search = PhotoHandler('picture.png').returnn()
# add label for background image
background_label = tkinter.Label(root, image=search)
background_label.place(x=0, y=0, relwidth=1, relheight=1)
root.mainloop()下面是文档:https://pillow.readthedocs.io/en/4.2.x/reference/ImageTk.html
https://stackoverflow.com/questions/63507418
复制相似问题