如何在文本小部件中嵌入图像

4 投票
1 回答
5589 浏览
提问于 2025-04-16 19:54

我知道在Tkinter的文本组件中可以嵌入图片,但我一直找不到简单的示例代码。

具体来说,我需要嵌入一个jpg格式的图片,所以根据文档,我想我需要使用photoimage类。

我尝试使用这个:

  img=PhotoImage ( file=imgfn )
  text.image_create(image=img)

这里imgfn是图片的文件名,text是我的文本组件,但我遇到了错误:“_tkinter.TclError: 无法识别图片文件中的数据...”

谢谢大家的帮助!

1 个回答

5

PhotoImage 只能处理 GIFPGM/PPM 文件。如果你想在 Tkinter 中使用 JPEG 格式的图片,可以使用 Python 图像库 (PIL) 来创建一个 PhotoImage

from PIL import Image, ImageTk

img = Image.open("yourimg.jpg")
photoImg = ImageTk.PhotoImage(img)

另外,如果可以的话,你也可以选择其他 PhotoImage 支持的格式。

撰写回答