Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将PIL与Tkinter一起使用?_Python_Python Imaging Library_Tkinter - Fatal编程技术网

Python 如何将PIL与Tkinter一起使用?

Python 如何将PIL与Tkinter一起使用?,python,python-imaging-library,tkinter,Python,Python Imaging Library,Tkinter,在使用PIL加载图像并在Tkinter创建的窗口中显示时,我缺少了一些非常基本的东西。我尝试做的最简单的形式是: import Tkinter as TK from PIL import Image, ImageTk im = Image.open("C:\\tinycat.jpg") tkIm = ImageTk.PhotoImage(im) tkIm.pack() TK.mainloop() 当我尝试运行上面的代码时,我得到以下结果: RuntimeError: Too early to

在使用PIL加载图像并在Tkinter创建的窗口中显示时,我缺少了一些非常基本的东西。我尝试做的最简单的形式是:

import Tkinter as TK
from PIL import Image, ImageTk

im = Image.open("C:\\tinycat.jpg")
tkIm = ImageTk.PhotoImage(im)
tkIm.pack()
TK.mainloop()
当我尝试运行上面的代码时,我得到以下结果:

RuntimeError: Too early to create image
Exception AttributeError: "PhotoImage instance has no attribute 
'_PhotoImage__photo'" in <bound method PhotoImage.__del__ of 
<PIL.ImageTk.PhotoImage instance at 0x00C00030>> ignored
运行时错误:创建映像太早
异常AttributeError:“PhotoImage实例没有属性
忽略中的“\u PhotoImage\u photo”

我已经确认该文件存在,可以在图像编辑器中打开,也可以使用im.show()显示。我缺少什么?

Tkinter必须在调用ImageTk.PhotoImage()之前实例化:


梅雷迪斯说的很对,你肯定需要加上那一行

我想向您展示我的图像格式,然后将其与您的进行比较,看看是否有任何不同,我的图像代码是

master.image = PhotoImage(file="Banditlogo.gif")
w = Label(master, image=master.image)
w.photo = master
w.pack()
你的代码是

im = Image.open("C:\\tinycat.jpg")
tkIm = ImageTk.PhotoImage(im)
tkIm.pack()
我们都在使用PIL和PhotoImage 我不禁想知道这两种方法都对吗? 此时此刻,我还没有足够的知识来完全回答您的PIL问题,但是比较这两个代码是很有趣的,因为它们是不同的。我只能建议当人们与我分享示例代码时,我会这样做,即“如果我的代码不起作用,请尝试示例代码,看看它是否能修复代码”,当我发现一些有效的代码时,我会坚持使用它

请对Tkinter有更多了解的人解释一下,我如何将PIL与Tkinter一起使用

知识就是力量,请分享

可能重复的
im = Image.open("C:\\tinycat.jpg")
tkIm = ImageTk.PhotoImage(im)
tkIm.pack()