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

标签 python image python-3.x tkinter

我花了一些时间在网上查找,但到目前为止还没有找到任何不使用 PIL 的答案,我无法开始工作是否有另一种方法可以简单地做到这一点?

最佳答案

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?

关于python - 如何将图像加载到 python 3.4 tkinter 窗口中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35024118/

相关文章:

python - 选择满足特定条件的第一行

python - 使用格式化将 time.struct_time 转换为字符串

javascript - 隐藏/更改/添加图像

javascript - 如何使用以 jpg 编码字符串开头的 Javascript 显示图像?

python - 无法在 mac 上升级 tensorflow

python - imshow 彩色图像,错误显示为蓝色

python - 访问 pandas 数据框中单行的推荐方法?

python - Django /Jinja2 : How to use the index value in a for-loop statement to display two lists?

python - ctypes 和 c dll 之间交换数据的正确方法是什么?

javascript - 如何使用单选按钮使用 HTML5 和 Javascript 更改 img src