You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Tkinter和PIL在GUI窗口添加图片?遇AttributeError报错

解决AttributeError: type object 'Image' has no attribute 'open'问题

你的报错源于命名冲突:from tkinter import *会导入tkinter内置的Image类,直接覆盖了PIL库的Image类,导致调用Image.open()时,实际调用的是tkinter的Image类——而它并没有open方法。

修复后的代码如下:

from PIL import ImageTk, Image
import tkinter as tk  # 改用别名导入tkinter,避免命名冲突

root = tk.Tk()
root.title("My Window")
# 注意:iconbitmap需要指向具体的.ico文件,不是文件夹,示例:
# root.iconbitmap('C:/Users/Win10/OneDrive/Desktop/your_icon.ico')

my_img = ImageTk.PhotoImage(Image.open("panigale.jpg"))
mylabel = tk.Label(image=my_img)
mylabel.pack() 

button_exit = tk.Button(root, text="Exit", command=root.quit)
button_exit.pack()

root.mainloop()

额外补充两点注意事项:

  • 确保已正确安装Pillow库(PIL的维护替代版本),未安装可执行pip install pillow完成安装。
  • iconbitmap参数必须是具体的.ico文件路径,你当前填写的是文件夹路径,运行时会触发额外错误,建议补充完整的图标文件名。

内容的提问来源于stack exchange,提问作者Krishan Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 09:37:03