一、我想在python的tkinter中动态加载图片怎么办
相信大家使用tkinter开发过窗体程序的时候都会遇到加载图片的问题,我们会有疑问,tkinter该如何加载图片?有的程序员要么一点思路没有,要么是有点思路图片无法正常显示,可是在网上查了一大堆也找不到有用的信息。那好今天我的分享将彻底解决tkinter动态加载图片的问题
二、互联网上搜到的tkinter加载图片的教程
此方法失败了,并没有达到我想要的效果,因为此方法无法加载jpg或png图片
首先网上搜索到的结果是如下:
import tkinter
import random
from tkinter import *
from tkinter.filedialog import askopenfilename
def choosepic():
path_ = askopenfilename()
path.set(path_)
img_open = Image.open(e1.get())
img = ImageTk.PhotoImage(img_open)
l1.config(image=img)
root = Tk()
path = StringVar()
Button(root, text='选择图片', command=choosepic).pack()
e1 = Entry(root, state='readonly', text=path)
e1.pack()
l1 = Label(root)
l1.pack()
root.mainloop()
可是这样加载的图片只能显示gif文件,也是使用tkinter自带的加载图片的模块
那如果我们想要加载jpg,png或是其他图片该怎么办呢,这就得用到python中专门处理图片的库了(PIL)
三、我研究了一通之后总结的tkinter完美实现动态加载图片
此方法使用了python处理图片的库为PIL,需要提前安装:pip install pillow
代码:
def choosepic():
path_=askopenfilename()
path.set(path_)
img_open = Image.open(e1.get())
img=ImageTk.PhotoImage(img_open)
print(img)
l1.config(image=img)
l1.image=img #keep a reference
把此函数替换掉上面的,图片正常动态加载
© 版权声明
THE END
暂无评论内容