我知道这个问题已经被问得相当多了,但我还是想不出问题出在哪里:
我试着做一个简单的4个按钮的Tkinter窗口。 每一个都应该有一个背景图像。 当我尝试设置image=path+'image.png'
时,我得到了以下信息:_tkinter.tclerror:image“C:/users/。。。/image.png”不存在
。 奇怪的是,当我从消息中复制路径并将其粘贴到Explorer adress行时,它会打开我想要作为背景图像的图像。
下面是必要的代码:
import tkinter
global path
path = 'C:/Users/Michael Hofmann/.../kahoot'
root = tkinter.Tk()
Button_red = tkinter.Button(root, image=path+'/images/red_small.png', command= pressed('red'))
提前谢谢!
错误是告诉您一个图像对象不以该名称存在,而不是一个文件不以该名称存在。 image
选项需要一个类型为Tkinter.PhotoImage
的对象。 你不能只给它一个图像的路径。
image = tkinter.PhotoImage(file=path+'/images/red_small.png')
Button_red = tkitner.Button(..., image=image)
我认为您的图像应该是image-object,为此请先安装pillow
包并导入ImageTK
,image
。 那么:
import tkinter
from PIL import ImageTk, Image
root = tkinter.Tk()
photo = ImageTk.PhotoImage(Image.open("./image.png"))
Button_red = tkinter.Button(root, width="100", height="100")
Button_red.config(image=photo)
Button_red.grid(column=1, row=3, sticky=tkinter.W)
root.mainloop()
在config
方法中为按钮指定图像对象。