tkinter中动态加载图片问题

tkinter中动态加载图片问题

一、我想在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
喜欢就支持一下吧
点赞22赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容