如何将图像加载到python 3.4 tkinter窗口?

问题描述 投票:4回答:2

我花了一些时间在线查看,到目前为止还没有找到任何可以解决这个问题而不使用PIL,我无法开始工作是否有其他方法可以做到这一点?

python image python-3.x tkinter
2个回答
11
投票

tkinter有一个PhotoImage类,可用于显示GIF图像。如果你想要其他格式(除了相当过时的PGM / PPM格式),你需要使用像PIL或Pillow这样的东西。

import Tkinter as tk

root = tk.Tk()
image = tk.PhotoImage(file="myfile.gif")
label = tk.Label(image=image)
label.pack()
root.mainloop()

重要的是要注意,如果将此代码移动到函数中,则可能会出现问题。上面的代码有效,因为它在全局范围内运行。使用函数,当函数退出时,图像对象可能会被垃圾收集,这将导致标签显示为空白。

有一个简单的解决方法(保存对图像对象的持久引用),但上述代码的要点是显示最简单的代码。

有关更多信息,请参阅此网页:Why do my Tkinter images not appear?


-1
投票

卢克,这太晚了,但可能会帮助别人。您的图像必须与.py脚本位于同一子目录中。你也可以输入'./imageFileName.png'

© www.soinside.com 2019 - 2024. All rights reserved.