我花了一些时间在网上查找,但到目前为止还没有找到任何不使用 PIL 就可以解决这个问题的方法,我无法开始工作是否有另一种方法可以简单地做到这一点?
原文由 LuGibs 发布,翻译遵循 CC BY-SA 4.0 许可协议
我花了一些时间在网上查找,但到目前为止还没有找到任何不使用 PIL 就可以解决这个问题的方法,我无法开始工作是否有另一种方法可以简单地做到这一点?
原文由 LuGibs 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用适用于 python 3 的 PIL 库。首先,您需要使用此命令(使用 pip)安装 PIL: pip install pillow
然后:
`from tkinter import *`
from PIL import Image, ImageTk
`class Window(Frame):`
`def __init__(self, master=None):
Frame.__init__(self, master)
self.master = master
self.pack(fill=BOTH, expand=1)
load = Image.open("parrot.jpg")
render = ImageTk.PhotoImage(load)
img = Label(self, image=render)
img.image = render
img.place(x=0, y=0)`
原文由 Pedram Nouri 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
tkinter 有一个 PhotoImage 类,可用于显示 GIF 图像。如果你想要其他格式(除了过时的 PGM/PPM 格式),你需要使用 PIL 或 Pillow 之类的东西。
需要注意的是,如果将这段代码移动到函数中,可能会出现问题。上面的代码之所以有效,是因为它在全局范围内运行。使用函数时,图像对象可能会在函数退出时被垃圾回收,这将导致标签显示为空白。
有一个简单的解决方法(保存对图像对象的持久引用),但上面代码的重点是尽可能显示最简单的代码。
有关详细信息,请参阅此网页: 为什么我的 Tkinter 图像不显示?