python实现简单倒计时功能


Posted in Python onApril 21, 2021

使用python实现简单倒计时exe,供大家参考,具体内容如下

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

python实现简单倒计时功能

  • 使用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: PyCharm

from tkinter import *
import time
import threading
def cyclethread():
    global counttime
    global restartflag
    global runflag
    restartflag=False

    if (timestr.get().isdigit()):
        counttime = int(timestr.get()) * 60
    else:
        runflag=False
        return;
    while (1):
        if(restartflag):
            counttime = int(timestr.get()) * 60
            restartflag=False
        if(exitflag):
            sys.exit()

        counttime=counttime-1
        v='\nleft time:'+str(counttime//60)+' :'+str(counttime%60)
        textshow.set(v)
        root.update()
        if (counttime <= 0):
            runflag = False
            return
        time.sleep(1)

def startCount():
    global  restartflag
    global runflag
    restartflag=True
    if( not runflag):
        th=threading.Thread(target=cyclethread)
        th.setDaemon(True)
        th.start()
        runflag = True

def exitfun():
    global exitflag
    exitflag=True
    sys.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 相关文章推荐
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
May 16 Python
NetworkX之Prim算法(实例讲解)
Dec 22 Python
python自动发邮件库yagmail的示例代码
Feb 23 Python
python求质数的3种方法
Sep 28 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
Nov 23 Python
Python魔法方法功能与用法简介
Apr 04 Python
在pytorch中对非叶节点的变量计算梯度实例
Jan 10 Python
多个python文件调用logging模块报错误
Feb 12 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
python爬虫中采集中遇到的问题整理
Nov 27 Python
python基于tkinter制作无损音乐下载工具
Mar 29 Python
教你利用Selenium+python自动化来解决pip使用异常
May 20 Python
python Polars库的使用简介
python基础之匿名函数详解
Apr 21 #Python
Python基础之字符串格式化详解
Apr 21 #Python
python 自动刷新网页的两种方法
python实现Thrift服务端的方法
python基础之while循环语句的使用
看看如何用Python绘制小米新版天价logo
You might like
PHPThumb PHP 图片缩略图库
2012/03/11 PHP
php不用正则验证真假身份证
2013/11/06 PHP
php使用GD创建保持宽高比缩略图的方法
2015/04/17 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
2017/10/26 PHP
JavaScript实现表格排序方法
2013/06/14 Javascript
Javascript实现简单二级下拉菜单实例
2014/06/15 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
Bootstrap每天必学之js插件
2015/11/30 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
完美解决js传递参数中加号和&amp;号自动改变的方法
2016/10/11 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
vue实现评价星星功能
2020/06/30 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
python3个性签名设计实现代码
2018/06/19 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
2020/03/23 Python
django ORM之values和annotate使用详解
2020/05/19 Python
Python容器类型公共方法总结
2020/08/19 Python
python一些性能分析的技巧
2020/08/30 Python
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
你常见到的runtime exception
2016/09/05 面试题
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
文秘专业毕业生就业推荐信
2013/11/08 职场文书
图书室管理制度
2014/01/19 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
岗位工作说明书
2014/07/29 职场文书
2014年教育工作总结
2014/11/26 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
五年级上册复习计划
2015/01/19 职场文书
2015国庆节66周年演讲稿
2015/03/20 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书