【发布时间】:2020-09-01 14:39:26
【问题描述】:
我试图简单地将图像添加到 tkinter 按钮。我什么都试过了:
import tkinter as tk
root = tk.Tk()
root.geometry('300x300+300+150')
photo = tk.PhotoImage('home.gif')
btn = tk.Button(root, image = photo, width = 100, height = 100)
btn.image = photo # even with this does not work
btn.pack()
root.mainloop()
我还尝试使用 PIL 将 photo 变量设置为等于 ImageTk.PhotoImage(Image.open('home.gif')),我尝试了 open 函数,照片的绝对路径(是的,照片在我的脚本的同一目录中) ,但一切正常。窗口只是弹出一个大按钮,里面没有图像。
更新: 我尝试使用其他图像,我注意到一些图像显示而另一些则没有。这是因为具有透明背景的图像会导致 tkinter 出现错误或问题......所以,我不知道是否有办法解决这个问题。在谷歌上,我发现有些人使用画布,但我实际上需要将图像放在按钮内,所以我不知道该怎么做。
【问题讨论】:
-
photo = tk.PhotoImage('home.gif')应该是photo = tk.PhotoImage(file='home.gif') -
还是不行·
-
@jizhihaoSAMA 我认为
file是一个位置论点? -
@CoolCloud 不,
file是tkinter.PhotoImage()中的关键字参数。 -
@Gianla 我相信按钮会自动调整大小以适应整个图像。