python label显示图片_python 实现在tkinter中动态显示label图片的方法
在编程中我们往往会希望能够实现这样的操作:点击Button,选择了图片,然后在窗口中的Label处显示选到的图片。那么这时候就需要如下代码:
from tkinter import *
from tkinter.filedialog import askopenfilename
def choosepic():
path_=askopenfilename()
path.set(path_)
img_gif=Tkinter.PhotoImage(file='xxx.gif')
l1.config(image=img_gif)
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
而由于tkinter只能识别gif格式的图片,如果我们要添加jpg或者png格式的图片的话就要借用PIL进行处理。这时候代码如下:
from tkinter import *
from tkinter.filedialog import askopenfilename
from PIL import Image,ImageTk
def choosepic():
path_=askopenfilename()
path.set(path_)
img_open = Image.open(e1.get())
img=ImageTk.PhotoImage(img_open)
l1.config(image=img)
但这个时候会发现Label并没有如我们所期望的那样变化。
这时候我去网上查找了相关资料,在 https://stackoverflow.com/questions/14291434/how-to-update-image-in-tkinter-label 下看到了回答者给出的解决办法:
photo = ImageTk.PhotoImage(self.img)
self.label1.configure(image = photo)
self.label1.image = photo # keep a reference!
于是在他的启发下我将代码进行了修改,之后完美解决了问题。修改后函数部分的代码如下:
def choosepic():
path_=askopenfilename()
path.set(path_)
img_open = Image.open(e1.get())
img=ImageTk.PhotoImage(img_open)
l1.config(image=img)
l1.image=img #keep a reference
而由于本人才疏学浅,对于造成这种现象的原因尚不理解。不过那名外国回答者也给出了这样修改的原因,在 http://effbot.org/pyfaq/why-do-my-tkinter-images-not-appear.htm 上对于为何要keep a reference做出了详尽的解释。
原文如下:
以上这篇python 实现在tkinter中动态显示label图片的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
本文标题: python 实现在tkinter中动态显示label图片的方法
本文地址: http://www.cppcns.com/jiaoben/python/262128.html
python label显示图片_python 实现在tkinter中动态显示label图片的方法相关推荐
- python编辑ppt图片_Python实现对PPT文件进行截图操作的方法
本文实例讲述了Python实现对PPT文件进行截图操作的方法.分享给大家供大家参考.具体分析如下: 下面的代码可以为powerpoint文件ppt进行截图,可以指定要截取的幻灯片页面,需要本机安装了p ...
- python 查找指定文件_python实现在目录中查找指定文件的方法
本文实例讲述了python实现在目录中查找指定文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 模糊查找 代码如下: import os from glob import glob #用到了 ...
- python怎么显示分数_Python 输入一个数字判断成绩分数等级的方法
Python 输入一个数字判断成绩分数等级的方法 成绩分数等级为: 100-90 A 90-80 B 80-70 C 70-60 D 60以下 F 实现判断分数等级是一个很简单的数学问题,只要你输入的 ...
- Android --- 夜神模拟器中没有图片怎么办?夜神模拟器中怎么导入图片?
问题: 夜神模拟器中没有图片怎么办?夜神模拟器中怎么导入图片? 解决: 1.点击右侧文件助手 2.点击"打开电脑文件夹" 3.弹出如下文件夹 4.点击imageShare 5.点击 ...
- 【Latex】【插入图片】如何在latex中插入并列图片
[Latex][插入图片]如何在latex中插入并列图片 实验分析部分需要将多个图片并列展示,今天看了网友的一些提示,写出了两种并列展示图片的方法: 每个图片都有一个标题 多个图片共用一个标题,每个图 ...
- html怎么写入图片位置,如何在css中设置插入图片定位
在做网页开发时,客户给的素材图片通常都是连在一起的,这样做也是为了缩短响应时间.下面就给大家具体说一下 ,如何通过css属性来定位图片. 如何在css中设置插入图片定位 首先设置固定图片的css属性是 ...
- python中mainloop添加背景_Python实例讲解 - tkinter canvas (设置背景图片及文字)
Python实例讲解 -- tkinter canvas (设置背景图片及文字) 先来一个绘图: from Tkinter import * master = Tk() w = Canvas(mast ...
- python设置背景图片大全_Python实例讲解 - tkinter canvas (设置背景图片及文字)
Python实例讲解 -- tkinter canvas (设置背景图片及文字) 先来一个绘图: from Tkinter import * master = Tk() w = Canvas(mast ...
- python中mainloop添加背景_Python实例讲解 tkinter canvas (设置背景图片及文字)
Python实例讲解 tkinter canvas (设置背景图片及文字) 2018-09-14 Python实例讲解 -- tkinter canvas (设置背景图片及文字) 博客分类:Pytho ...
最新文章
- Hadoop 分布式环境搭建
- 动态规划4--最佳加法表达式
- 综合技术 --myBatis理解
- 元宇宙iwemeta:元宇宙和虚拟网红入围《经济学人》2022年值得关注的技术
- java 预览zip_java压缩包上传,解压,预览(利用editor.md和Jstree实现)和下载
- pandas中合并数据集
- 【人工智能导论】遗传算法求解TSP问题(含源码github)
- tomcat启动报错APR问题
- stm32关定时器_STM32F103ZET6的基本定时器
- 如何提高PHP代码的质量?第二部分 单元测试
- C++中内存泄漏的检测方法介绍
- 向前、向后、横着走,双足机器人Cassie,靠深度强化学习学会了走路丨论文
- Opencv特征点检测
- 这10个idea小技巧,让我的开发效率提升了10倍
- hashmap java 排序_HashMap的排序
- 关于ResourceBundle国际化的一些思考
- ThinkPHP3.2.3实现后台登录界面
- linux和windows局域网连接网络,linux与windows局域网互访
- 蓝桥杯-决赛A组第九届java
- 通过IIS安装包安装IIS
热门文章
- java集合清空_java 集合删除数据
- mysql隔离级别和mvcc_数据库MVCC和隔离级别的关系是什么?
- c语言中结构体类型只有,C语言中main()函数不要返回结构体类型(求助)
- IDEA创建SpringBoot
- MATLAB使用教程(三)——在文件中编程
- 数学建模学习笔记(二)——Topsis优劣解距离法
- python子图之间的距离_python与图论的桥梁——igraph
- if __name__ == __main___一文带你弄懂python中if __name__ == #39;__main__#39;
- android pdf阅读器开发_如何在 Windows 10 中将 Firefox 设置为默认 PDF 阅读器
- 无法执行二进制文件: 可执行文件格式错误_VB中.frm .frx .vbp .vbw .scc文件都有什么作用,你知道么?...