tkinter显示图片

在Python中,我们可以使用tkinter库来创建图形用户界面(GUI)应用程序。其中,tkinter提供了处理图像的方法,并且可以很方便地显示图片。本文将详细介绍如何在tkinter中显示图片,并且给出一些示例代码。
安装tkinter
如果你使用的是Python 3.x版本,那么tkinter库是自带的,无需额外安装。如果你使用的是Python 2.x版本,那么需要单独安装tkinter库。
在tkinter中显示图片
在tkinter中显示图片的方法是使用PhotoImage类。首先,需要创建一个PhotoImage对象,然后将其赋给一个Label对象的image属性。最后,使用pack方法将Label对象添加到窗口中。
以下是一个简单的示例代码,展示了如何在tkinter中显示一张图片:
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
img = Image.open("test.png")
photo = ImageTk.PhotoImage(img)
label = tk.Label(root, image=photo)
label.pack()
root.mainloop()
在这个示例中,我们首先打开名为test.png的图片,并将其转换为PhotoImage对象。然后,创建一个Label对象,并将PhotoImage对象赋值给其image属性。最后,使用pack方法将Label对象添加到窗口中,显示图片。
示例代码运行结果

在tkinter中显示网络图片
除了显示本地图片外,我们也可以在tkinter中显示网络图片。这可以通过使用requests库来下载网络图片,并将其转换为PhotoImage对象来实现。
以下是一个简单的示例代码,展示了如何在tkinter中显示一张网络图片:
import tkinter as tk
from PIL import Image, ImageTk
import requests
from io import BytesIO
root = tk.Tk()
response = requests.get("https://www.deepinout.com/test.jpg")
img = Image.open(BytesIO(response.content))
photo = ImageTk.PhotoImage(img)
label = tk.Label(root, image=photo)
label.pack()
root.mainloop()
在这个示例中,我们使用requests.get方法下载名为test.jpg的网络图片,并将其转换为PhotoImage对象。然后,创建一个Label对象,并将PhotoImage对象赋值给其image属性。最后,使用pack方法将Label对象添加到窗口中,显示网络图片。
示例代码运行结果

总结
通过本文的介绍,我们了解了如何在tkinter中显示本地图片和网络图片。无论是本地图片还是网络图片,都可以通过PhotoImage对象来实现在tkinter中的显示。
极客笔记