Python tkinter label 更新方法


Posted in Python onOctober 11, 2018

网上看的两个例子关于tkinter界面更新的,简单易懂,分享一下。

例子_1:

Python tkinter label 更新方法

代码_1:

from tkinter import Tk, Checkbutton, Label
from tkinter import StringVar, IntVar

root = Tk()

text = StringVar()
text.set('old')
status = IntVar()

def change():
 if status.get() == 1: # if clicked
  text.set('new')
 else:
  text.set('old')

cb = Checkbutton(root, variable=status, command=change)
lb = Label(root, textvariable=text)
cb.pack()
lb.pack()

root.mainloop()

例子_2:

Python tkinter label 更新方法

代码_2:

from tkinter import *
import time


class StopWatch(Frame):
 '''实现一个秒表部件'''
 msec = 50
 def __init__(self, parent=None, **kw):
  Frame.__init__(self, parent, kw)
  self._start = 0.0
  self._elapsedtime = 0.0
  self._running = False
  self.timestr = StringVar()
  self.makeWidgets()
  self.flag = True
 def makeWidgets(self):
  '''制作时间标签'''
  l = Label(self, textvariable = self.timestr)
  self._setTime(self._elapsedtime)
  l.pack(fill = X, expand = NO, pady = 2, padx = 2)
 def _update(self):
  self._elapsedtime = time.time() - self._start
  self._setTime(self._elapsedtime)
  self._timer = self.after(self.msec, self._update)
 def _setTime(self, elap):
  '''将时间格式改为 分:秒:百分秒'''
  minutes = int(elap/60)
  seconds = int(elap-minutes*60.0)
  hseconds = int((elap - minutes*60.0 - seconds) *100)
  self.timestr.set('%2d:%2d:%2d' %(minutes, seconds, hseconds))
 def Start(self):
  if not self._running:
   self._start = time.time() - self._elapsedtime
   self._update()
   self._running = True
 def Stop(self):
  '''停止秒表'''
  if self._running:
   self.after_cancel(self._timer)
   self._elapsedtime = time.time() - self._start
   self._setTime(self._elapsedtime)
   self._running = False
 def Reset(self):
  '''重设秒表'''
  self._start = time.time()
  self._elapsedtime = 0.0
  self._setTime(self._elapsedtime)


 def stopwatch(self):
  if self.flag == True:
   self.pack(side = TOP)
   Button(self, text = 'start', command = self.Start).pack(side = LEFT)
   Button(self, text = 'stop', command = self.Stop).pack(side = LEFT)
   Button(self, text = 'reset', command = self.Reset).pack(side = LEFT)
   Button(self, text = 'quit', command = self.quit).pack(side = LEFT)  
  self.flag = False


class Watch(Frame):
 msec = 1000
 def __init__(self, parent=None, **kw):
   Frame.__init__(self, parent, kw)
   self._running = False
   self.timestr1 = StringVar()
   self.timestr2 = StringVar()
   self.makeWidgets()
   self.flag = True
 def makeWidgets(self):
  l1 = Label(self, textvariable = self.timestr1)
  l2 = Label(self, textvariable = self.timestr2)
  l1.pack()
  l2.pack()
 def _update(self):
  self._settime()
  self.timer = self.after(self.msec, self._update)
 def _settime(self):
  today1 = str(time.strftime('%Y-%m-%d', time.localtime(time.time())))
  time1 = str(time.strftime('%H:%M:%S', time.localtime(time.time())))
  self.timestr1.set(today1)
  self.timestr2.set(time1)
 def start(self):
  self._update()
  self.pack(side = TOP)

if __name__ == '__main__':
 def main():
  root = Tk()
  root.geometry('250x150')
  frame1 = Frame(root)
  frame1.pack(side = BOTTOM)
  sw = StopWatch(root)
  stpwtch = Button(frame1, text = '秒表', command = sw.stopwatch)
  stpwtch.pack(side = RIGHT)
  mw = Watch(root)
  mywatch = Button(frame1, text = '时钟', command = mw.start)
  mywatch.pack(side = LEFT)
  root.mainloop()
 main()

以上这篇Python tkinter label 更新方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
介绍Python中的fabs()方法的使用
May 14 Python
Python中字典的setdefault()方法教程
Feb 07 Python
mac下给python3安装requests库和scrapy库的实例
Jun 13 Python
python统计字母、空格、数字等字符个数的实例
Jun 29 Python
django 实现电子支付功能的示例代码
Jul 25 Python
Python实现繁?转为简体的方法示例
Dec 18 Python
anaconda如何查看并管理python环境
Jul 05 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
PyQt5+Pycharm安装和配置图文教程详解
Mar 24 Python
Python bisect模块原理及常见实例
Jun 17 Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 Python
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
Jun 05 Python
解读python如何实现决策树算法
Oct 11 #Python
Python tkinter的grid布局及Text动态显示方法
Oct 11 #Python
对python requests的content和text方法的区别详解
Oct 11 #Python
使用pip发布Python程序的方法步骤
Oct 11 #Python
对python Tkinter Text的用法详解
Oct 11 #Python
python数据批量写入ScrolledText的优化方法
Oct 11 #Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
Oct 11 #Python
You might like
基于PHP+MySQL的聊天室设计
2006/10/09 PHP
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
HTTP 304错误的详细讲解
2013/11/13 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
详解javascript函数的参数
2015/11/10 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
简单实现js放大镜效果
2017/07/24 Javascript
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
详解JavaScript添加给定的标签选项
2018/09/17 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
Ubuntu下安装PyV8
2016/03/13 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
基于Python的PIL库学习详解
2019/05/10 Python
Python实现FTP文件传输的实例
2019/07/07 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
HTML5+CSS3 诱人的实例:3D立方体旋转动画实例
2016/12/30 HTML / CSS
汽车专业人才自我鉴定范文
2013/12/29 职场文书
普通员工辞职信
2014/01/17 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
2014年施工员工作总结
2014/11/18 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
学校教学工作总结2015
2015/05/19 职场文书
法定代表人资格证明书
2015/06/18 职场文书
教师节简报
2015/07/20 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
Java用自带的Image IO给图片添加水印
2021/06/15 Java/Android
深入解读Java三大集合之map list set的用法
2021/11/11 Java/Android