如何在按钮中显示图像?

2024-04-26 01:29:52 发布

您现在位置:Python中文网/ 问答频道 /正文

请帮助修改脚本。你知道吗

问题是我的脚本出于某种原因显示空白按钮。我需要在每个按钮上有相应的图像。你知道吗

from PIL import Image
import glob, os, tkinter

root = tkinter.Tk()

size = 128, 128

for infile in glob.glob("images/*.gif"):
    Im = Image.open(infile)
    pointerIm = Im.thumbnail(size, Image.ANTIALIAS)
    tkinter.Button(root, image=pointerIm).pack()

root.mainloop()

Tags: from图像imageimport脚本sizepiltkinter
1条回答
网友
1楼 · 发布于 2024-04-26 01:29:52
  • 您应该传递ImageTk.PhotoImage,而不是Image。你知道吗
  • thumbnail方法不返回任何内容;它在原地修改图像。你知道吗
  • 您需要保留对PhotoImage对象的引用。否则会被垃圾收集。
    • 在下面的代码中,我将PhotoImage对象附加到images列表以保留引用。你知道吗

from PIL import Image, ImageTk
import glob, os, tkinter

root = tkinter.Tk()

size = 128, 128

images = []
for infile in glob.glob("images/*.gif"):
    Im = Image.open(infile)
    Im.thumbnail(size, Image.ANTIALIAS)
    photo_image = ImageTk.PhotoImage(Im)
    images.append(photo_image)
    tkinter.Button(root, image=photo_image).pack()

root.mainloop()

相关问题 更多 >