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实现发送QQ邮件的封装
Jul 14 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
Python学生成绩管理系统简洁版
Apr 05 Python
Python简单基础小程序的实例代码
Apr 28 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
Jul 08 Python
Python爬虫 urllib2的使用方法详解
Sep 23 Python
tensorflow 实现打印pb模型的所有节点
Jan 23 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
Feb 20 Python
解决pycharm不能自动补全第三方库的函数和属性问题
Mar 12 Python
python小白学习包管理器pip安装
Jun 09 Python
使用Nibabel库对nii格式图像的读写操作
Jul 01 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
Feb 06 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
PHP的PDO操作简单示例
2016/03/30 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
Laravel实现搜索的时候分页并携带参数
2019/10/15 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
XML的代替者----JSON
2007/07/21 Javascript
Javascript 刷新全集常用代码
2009/11/22 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
Javascript面向对象编程
2012/03/18 Javascript
浅谈Javascript事件模拟
2012/06/27 Javascript
jQuery之尺寸调整组件的深入解析
2013/06/19 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
浅析java线程中断的办法
2018/07/29 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
node 文件上传接口的转发的实现
2019/09/23 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
使用python解析xml成对应的html示例分享
2014/04/02 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
python实现ip代理池功能示例
2019/07/05 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
2020/02/27 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
自荐信如何“自荐”
2013/10/24 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
会计的岗位职责
2014/03/15 职场文书
2014五一国际劳动节活动总结范文
2014/04/14 职场文书
MySQL表字段时间设置默认值
2021/05/13 MySQL
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python