python Tkinter的图片刷新实例


Posted in Python onJune 14, 2019

调用python自带的GUI制作库

一开始想用Tkinter制作GUI的,网上说是python自带的,结果输入:

import tkinter

后,显示:

_ImportError: No module named tkinter_

以为是没有安装,还利用apt-get install 命令安装了一堆东西,安装完了发现还是没有用。(⊙?⊙)b

后来看到如果是用的python2.7的话,需要输入

import Tkinter

然后就可以用了。

显示连续刷新的图片

开始用的TK的Label功能来显示图片,需要等到调用mainloop()后才会显示图片,没找到可以刷新图像的方法;后来采用Canvas,才找到了可以不用等到mainloop()就可以显示图片的方法,代码如下:

from Tkinter import *
from PIL import Image, ImageTk
import time
import os
import cv2
num=0
tk=Tk()
canvas=Canvas(tk,width=500,height=500,bg = 'white')
while num<7:
 num +=1
 filename = str(num) + '.jpg'
 if os.path.isfile(filename):
 img1 = cv2.imread(filename)
 im1 = Image.fromarray(cv2.cvtColor(img1,cv2.COLOR_BGR2RGB)) 
 img = ImageTk.PhotoImage(image = im1)
 #img = ImageTk.PhotoImage(file = filename)
 itext = canvas.create_image((250,150),image = img)
 canvas.pack()
 tk.update()
 tk.after(1000)
tk.mainloop()

再后来发现用Label也可以实现图片的刷新,关键在于是否加了:

tk.updata()

使用Label的程序如下,其中的.grid()用于设置显示的位置:

#coding=utf-8
import Tkinter as tk
from PIL import Image, ImageTk
import cv2
import os
import time

def btnHelloClicked():
 labelHello.config(text = "Hello Tkinter!")

def resize(w,h,w_box,h_box,im):
 f1 = 1.0*w_box/w
 f2 = 1.0*h_box/h
 factor = min([f1, f2])
 width = int(w*factor)
 height = int(h*factor)
 return im.resize((width,height),Image.ANTIALIAS)

top = tk.Tk()
#-------------- image 1 --------------
for N in range(1,10):
 filename = str(N) + '.jpg'
 if os.path.isfile(filename):
 #top = tk.Toplevel()#tk.Tk()
 top.title("test the net.")
 #string
 labelHello = tk.Label(top,text = str(N),height = 5,width = 20,fg = "blue")
 labelHello.grid(row = 0,column = 1)
 img1 = cv2.imread(filename)
 im1 = Image.fromarray(cv2.cvtColor(img1,cv2.COLOR_BGR2RGB))
 #---resize the image to w_box*h_box
 w_box = 500
 h_box = 450
 w,h = im1.size
 im_resized1 = resize(w,h,w_box,h_box,im1)

 bm1 = ImageTk.PhotoImage(image = im_resized1)
 label1 = tk.Label(top,image = bm1,width = w_box,height = h_box)
 label1.grid(row = 1,column = 0)
 top.update()
 top.after(1000) 
top.mainloop()

其中尝试了将 tk.Tk()放在循环内部,但是运行到第二个循环的时候,会报错:

_tkinter.TclError: image "pyimage2" doesn't exist

需要将tk.Tk替换为tk.Toplevel(),但是每个循环都会新出现两个面板。

以上这篇python Tkinter的图片刷新实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中实现参数类型检查的简单方法
Apr 21 Python
讲解Python中if语句的嵌套用法
May 14 Python
详解Python字符串对象的实现
Dec 24 Python
Python爬虫模拟登录带验证码网站
Jan 22 Python
python解决网站的反爬虫策略总结
Oct 26 Python
python找出完数的方法
Nov 12 Python
python绘制简单彩虹图
Nov 19 Python
python爬取微信公众号文章的方法
Feb 26 Python
解决python多行注释引发缩进错误的问题
Aug 23 Python
tensorflow 实现自定义layer并添加到计算图中
Feb 04 Python
Python如何在循环内使用list.remove()
Jun 01 Python
Django-simple-captcha验证码包使用方法详解
Nov 28 Python
基于Python的Post请求数据爬取的方法详解
Jun 14 #Python
Appium+python自动化怎么查看程序所占端口号和IP
Jun 14 #Python
Python中py文件转换成exe可执行文件的方法
Jun 14 #Python
10 行Python 代码实现 AI 目标检测技术【推荐】
Jun 14 #Python
Python3 Tkinter选择路径功能的实现方法
Jun 14 #Python
Python Tkinter 简单登录界面的实现
Jun 14 #Python
python tkinter实现界面切换的示例代码
Jun 14 #Python
You might like
fgetcvs在linux的问题
2012/01/15 PHP
Zend Framework分页类用法详解
2016/03/22 PHP
简单解决微信文章图片防盗链问题
2016/12/17 PHP
PHP实现文件上传后台处理脚本
2020/03/04 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
异步动态加载js与css文件的js代码
2013/09/15 Javascript
jQuery中:only-child选择器用法实例
2015/01/03 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
JavaScript中创建对象的7种模式详解
2017/02/21 Javascript
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
Vue使用Proxy监听所有接口状态的方法实现
2019/06/07 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
5款非常棒的Python工具
2018/01/05 Python
Python3结合Dlib实现人脸识别和剪切
2018/01/24 Python
Python tkinter label 更新方法
2018/10/11 Python
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
Django日志及中间件模块应用案例
2020/09/10 Python
Python实现手势识别
2020/10/21 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
原生canvas制作画图小工具的踩坑和爬坑
2020/06/09 HTML / CSS
视图的作用
2014/12/19 面试题
师范教师毕业鉴定
2014/01/13 职场文书
法学个人求职信范文
2014/01/27 职场文书
演讲稿的写法
2014/05/19 职场文书
安全教育主题班会总结
2015/08/14 职场文书
PHP获取学生成绩的方法
2021/11/17 PHP
小程序自定义轮播图圆点组件
2022/06/25 Javascript