鱼C论坛

 找回密码
 立即注册
查看: 2902|回复: 5

[已解决]如何用实现python TKinter 秒表和倒计时的功能

[复制链接]
发表于 2018-12-7 01:07:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如何用实现python TKinter 秒表和倒计时的功能
最佳答案
2018-12-7 09:45:03
  1. from tkinter import *
  2. import time
  3. root=Tk()
  4. def count_time():
  5.     global b1_run
  6.     global var
  7.     b1['text']='停止'
  8.     if not b1_run:
  9.         b1_run=True
  10.         while b1_run:
  11.             time.sleep(0.1)
  12.             var=round(var+0.1,1)
  13.             try:
  14.                 l['text']=str(var)
  15.                 l.update()
  16.             except:
  17.                 break
  18.     else:
  19.         b1_run=False
  20.         b1['text']='计时'

  21. def count_zero():
  22.     global var
  23.     if var and not b1_run:
  24.         var=0
  25.         l['text']='0'
  26. var=0
  27. l=Label(root,text=str(var))
  28. l.pack()
  29. b1_run=False
  30. b1=Button(root,text='计时',command=count_time)
  31. b1.pack()
  32. b2=Button(root,text='清零',command=count_zero)
  33. b2.pack()
  34. e=Entry(text='0')
  35. e.pack()
  36. def count_back():
  37.     while float(e.get()):
  38.         time.sleep(0.1)
  39.         v=str(round(float(e.get())-0.1,1))
  40.         e['text']=v
  41.         e.delete(0,END)
  42.         e.insert(0,v)
  43.         try:
  44.             e.update()
  45.         except:
  46.             break
  47. b3=Button(root,text='倒计时',command=count_back)
  48. b3.pack()
  49. mainloop()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-7 09:10:49 | 显示全部楼层
用threading模块,定义个定时器实现时钟功能不是很简单么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-7 09:45:03 | 显示全部楼层    本楼为最佳答案   
  1. from tkinter import *
  2. import time
  3. root=Tk()
  4. def count_time():
  5.     global b1_run
  6.     global var
  7.     b1['text']='停止'
  8.     if not b1_run:
  9.         b1_run=True
  10.         while b1_run:
  11.             time.sleep(0.1)
  12.             var=round(var+0.1,1)
  13.             try:
  14.                 l['text']=str(var)
  15.                 l.update()
  16.             except:
  17.                 break
  18.     else:
  19.         b1_run=False
  20.         b1['text']='计时'

  21. def count_zero():
  22.     global var
  23.     if var and not b1_run:
  24.         var=0
  25.         l['text']='0'
  26. var=0
  27. l=Label(root,text=str(var))
  28. l.pack()
  29. b1_run=False
  30. b1=Button(root,text='计时',command=count_time)
  31. b1.pack()
  32. b2=Button(root,text='清零',command=count_zero)
  33. b2.pack()
  34. e=Entry(text='0')
  35. e.pack()
  36. def count_back():
  37.     while float(e.get()):
  38.         time.sleep(0.1)
  39.         v=str(round(float(e.get())-0.1,1))
  40.         e['text']=v
  41.         e.delete(0,END)
  42.         e.insert(0,v)
  43.         try:
  44.             e.update()
  45.         except:
  46.             break
  47. b3=Button(root,text='倒计时',command=count_back)
  48. b3.pack()
  49. mainloop()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-12-8 23:20:08 | 显示全部楼层
我想问一下异常处理怎么编写
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-9 02:09:57 | 显示全部楼层
我想问一下倒计时如果要加一个取消程序应该怎么加
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-9 05:15:44 | 显示全部楼层
我想问一下如果要把倒计时的单位换成小时,分钟,秒的话应该怎么写
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 22:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表