使用python实现简单倒计时exe


使用tkinter制作界面实现倒计时功能。

  • 使用time.sleep(1)实现 秒级 倒计时
  • 使用线程避免界面卡死
  • 在线程的循环中检测全局标志位,保证计时线程的重置、以及退出
  • 使用pyinstaller -F file.py -w 生成exe文件,-w表示隐藏控制台,-F表示生成单文件

代码如下:

#!/usr/bin/python3.8
# -*- coding: utf-8 -*-
# @Time    : 2021/4/19 14:09
# @Author  : dongdong
# @File    : CountdownGUI.py
# @Software: PyCharmfrom tkinter import *
import time
import threading
def cyclethread():global counttimeglobal restartflagglobal runflagrestartflag=Falseif (timestr.get().isdigit()):counttime = int(timestr.get()) * 60else:runflag=Falsereturn;while (1):if(restartflag):counttime = int(timestr.get()) * 60restartflag=Falseif(exitflag):sys.exit()counttime=counttime-1v='\nleft time:'+str(counttime//60)+' :'+str(counttime%60)textshow.set(v)root.update()if (counttime <= 0):runflag = Falsereturntime.sleep(1)def startCount():global  restartflagglobal runflagrestartflag=Trueif( not runflag):th=threading.Thread(target=cyclethread)th.setDaemon(True)th.start()runflag = Truedef exitfun():global exitflagexitflag=Truesys.exit()restartflag=False
exitflag=False
counttime=None
runflag=False
root=Tk()
root.geometry('250x120')
root.title('TimeCounter')timestr = StringVar(value="30")
textshow=StringVar(value='\nCountDown:30min ')text0=Label(root,text='Input time(min):').grid(row=0,column=0,columnspan=3)
entext=Entry(root,textvariable=timestr).grid(row=0,column=3,columnspan=1)# bnframe=ttk.Frame(root).grid(row=1,column=0,columnspan=4)
stbn=Button(root,text='Start',command=startCount).grid(row=1,column=2,columnspan=1)
enbn=Button(root,text='Exit',command=exitfun).grid(row=1,column=3,columnspan=1)text=Label(root,textvariable=textshow).grid(row=2,column=0,columnspan=4)
root.mainloop()

python实现简单倒计时exe相关推荐

  1. python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...

  2. python输入输出拓展: 制作简单的exe程序(温度转换器)

    制作简单的exe程序 为了防止代码被盗,需要对代码进行打包.这里,就需要制作exe程序. 准备工作: 1. 安装第三方模块 pyinstaller 2. . 阿里巴巴矢量图标库(www.iconfon ...

  3. PyInstaller将python脚本打包成exe可执行程序

    一.PyInstaller说明 pyinstaller是一个第三方模块,托管在github上,它是一个把python脚本及其依赖的模块,打包成一个独立的可执行程序,使其能运行在没有安装python环境 ...

  4. Python脚本导出为exe程序

    环境:Pycharm2019.1 + Win10 + Python3.7.3 一.pyinstaller简介 Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者 ...

  5. Tools_将Python脚本封装成exe可执行文件

    将Python脚本封装成exe可执行文件 将Python脚本封装成exe可执行文件 cx_freeze是用来将 Python 脚本封装成可执行程序的工具,支持最新的Python3.2版本.生成的执行文 ...

  6. Python很简单,你一定能学会【加油!】

    Python真的那么神奇?你真的想学好Python吗?一方面,你一直在为琐碎的事情而苦苦挣扎,而且你还没有能够开始.另一方面,你担心学习成本太高.其实Python很简单,你一定能学会. Python安 ...

  7. Python 实现简单的爬虫

    Python 是一种跨平台的计算机程序设计语言,面向对象动态类型语言,Python是纯粹的自由软件,源代码和解释器cpython遵循 GPL(GNU General Public License)协议 ...

  8. 把Python项目打包成exe文件

    我们很多时候,写好的程序需要打包成.exe文件才可以发给客户,那么今天我就来谈一谈,如何将一个写好的Python程序打包成exe文件! 首先,我们我们使用到的工具是python 3.7 和 Pyins ...

  9. 将keras训练好的神经网络模型生成独立于python环境运行的.exe文件并在matlab中调用(上篇)

    keras是深度学习简单易上手的python第三方库.在实际应用中,常常需要将keras训练好的深度学习模型生成独立于python环境的文件,供不会python的人或未安装python环境的设备调用. ...

最新文章

  1. php mysql source_Mysql数据库导入命令Source详解
  2. 字节、腾讯、阿里的开发为啥都在用Python?网友:又酸又香!
  3. webpack 使用别名(resolve.alias)解决scss @import相对路径导致的问题
  4. Qt|OpenGL-天空盒子的创建
  5. SpringBoot之解决一对一、多对一、多对多等关联实体在JSON序列化/输出时产生的无限递归死循环问题(infinite recursion)
  6. 5G手机什么牌子的便宜一点
  7. 【干货】JS 限制input文本框输入
  8. iSCSI服务部署网络存储
  9. 程序员能力的四个境界
  10. CentOS7安装MySQL8报错mariadb-libs is obsoleted by mysql-community-libs-8.0.xx-1.el7.x86_64
  11. 「ZEALER 出品」Shawn Talk 第三期 iOS 7 的「槽点」跟观点
  12. s型人口增长曲线matlab程序,matlab人口预测及数据曲线拟合.ppt
  13. java设置手机后台进程限制_当应用程序在Android Pie上受到后台限制时启动前台服务...
  14. 致所有仍然关注BreezeMaphack的朋友
  15. php正则校验特殊字符,PHP正则表达式中的特殊字符
  16. ucr计算机专业学生吧,在UCR商学院的成长记忆
  17. 计算机网络设备的种类,计算机网络设备选型依据.ppt
  18. html怎么实现计算bmi,利用Javascript实现BMI计算器
  19. 怎么测试计算机运算能力,处理器运算能力测试_CPU_CPUCPU评测-中关村在线
  20. 【c#】MD5加密实现

热门文章

  1. 科学计算机有趣玩法,简单有趣!7个在家玩的趣味科学实验游戏!
  2. 信息学奥赛一本通1839:【05NOIP提高组】谁拿了最多奖学金
  3. 计算机网络拥塞解决方法,对TCP/IP计算机网络拥塞控制的研究
  4. Web 性能优化: 图片优化让网站大小减少 62%
  5. 人机交互在计算机科学中的作用,人机交互技术
  6. 供应链管理:企业的三大核心职能之一
  7. 【转】联想笔记本进入u盘启动项操作方法详解
  8. error when running snapcast:[Err]Exception:Could not lock PID lock file /var/run/snapclient/pid
  9. 错过一个订单后,吐槽下自己(顺便分享下书单),欢迎交流
  10. .net mysql transactionscope_C#中的事务TransactionScope