当前位置: 首页 > 面试题库 >

_tkinter.TclError:图像“…”不存在

於彬
2023-03-14
问题内容

我知道这个问题已经被问过几次了,但是我仍然无法弄清楚我的问题的答案。我不断收到相同的错误,不知道如何解决。

这是我的代码:

from Tkinter import *
from PIL import Image, ImageTk
import os

window = Tk()
i = Image.open(pathToImage) 
if os.path.isfile(pathToImage):

     print 'image exists'
else:   
     print 'image does not exits'

label=Label(window, image=i)
label.pack()
window.mainloop()

它说图像存在于指定的路径,但是我不断收到此错误消息:

Traceback (most recent call last):
  File "ImageTest.py", line 31, in <module>
    label=Label(window, image=i)
  File "C:\Users\username\Anaconda2\lib\lib-tk\Tkinter.py", line 2597, in __init__
Widget.__init__(self, master, 'label', cnf, kw)
  File "C:\Users\username\Anaconda2\lib\lib-tk\Tkinter.py", line 2096, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: image "<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=640x480 at 0x36DF278>" doesn't exist

我不知道如何解决这个问题。任何帮助,将不胜感激!


问题答案:

您应该使用PhotoImage实例作为image值。另外,您需要保留图像的参考。

im = Image.open(pathToImage)
ph = ImageTk.PhotoImage(im)

label = Label(window, image=ph)
label.image=ph  #need to keep the reference of your image to avoid garbage collection


 类似资料:
  • 问题内容: 我在屏幕上显示图像两秒钟然后被破坏的功能遇到麻烦。当程序运行函数时,初始调用在程序上可以正常运行,但是如果随后通过tkinter中内置的按钮调用了函数,则会出现错误。 调用该功能的按钮。 通过按钮命令调用时的错误消息。 什么是“ pyimage3”,为什么不存在?任何帮助将不胜感激。谢谢。 问题答案: 我发现这个问题是如此重要,我会为以后遇到这个问题的任何人回答自己。 wlcm_scr

  • 保存图像 能将图像保存至Memory Stick™或主机内存。 1. 让指针对准想要保存的图像,从选单列中选择[档案] > [保存图像]。 2. 选择[保存]。 提示 若想变更文件名或保存位置,请选择各项输入栏,并执行决定。

  • 问题内容: 在我的Android项目中,我有imageButton,单击它之后,它必须使用imageView打开新的Activity,在我的新Activity中,我必须只能看到ImageButton的大字体图像,图像大小为17mb,并且内存不足错误。但是我的代码适用于较小尺寸的图像。有人可以帮助调整图像大小或更改某些位图选项或以其他方式提出建议吗?我是android的新手,对不起,英语不好:) 这

  • 问题内容: 我正在使用html2canvas 0.4.0渲染屏幕截图,并希望将其另存为Web服务器上的图像。 为此,我编写了以下函数: JavaScript saveJPG.php 渲染完画布后,我可以将其完美地附加到HTML主体中,但是将其保存在服务器上会导致文件损坏(?)。 我可以在IrvanView中读取尺寸,但是图像是透明的/空的?该文件约为2.076 KB。所以它不是真的是空的。 我也尝

  • 的控制台输出是正确的,我相信使用的是正确的。 上载的控制台输出如下: 然而,当我查看firebase存储时,新文件夹和图像不在那里。火药库没有变化。为什么它实际上不储存在仓库里?

  • 主要内容:Mat类,方法和描述,创建和显示矩阵,使用JavaSE API加载图像要拍摄图像,我们可使用相机和扫描仪等设备。 这些设备记录图像的数值(例如:像素值)。 OpenCV是一个处理数字图像的库,因此需要存储这些图像进行处理。 OpenCV库的类用于存储图像的值。它代表一个维数组,用于存储灰度或彩色图像,体素体积,矢量场,点云,张量,直方图等图像数据。 这个类包含两个数据部分:头部()和一个指针() 头部 - 包含大小,用于存储的方法和矩阵地址(大小不变)等信息。 指针