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 解析XML文件
Apr 15 Python
Python实现遍历目录的方法【测试可用】
Mar 22 Python
python:print格式化输出到文件的实例
May 14 Python
关于Python的一些学习总结
May 25 Python
Tensorflow加载预训练模型和保存模型的实例
Jul 27 Python
使用OpenCV实现仿射变换—平移功能
Aug 29 Python
python如何从文件读取数据及解析
Sep 19 Python
python全局变量引用与修改过程解析
Jan 07 Python
python 实现图像快速替换某种颜色
Jun 04 Python
python map比for循环快在哪
Sep 21 Python
python 实用工具状态机transitions
Nov 21 Python
python实现计算器简易版
Dec 17 Python
python Polars库的使用简介
python基础之匿名函数详解
Apr 21 #Python
Python基础之字符串格式化详解
Apr 21 #Python
python 自动刷新网页的两种方法
python实现Thrift服务端的方法
python基础之while循环语句的使用
看看如何用Python绘制小米新版天价logo
You might like
php环境下利用session防止页面重复刷新的具体实现
2014/01/09 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
javawscript 三级菜单的实现原理
2009/07/01 Javascript
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
详解angular2实现ng2-router 路由和嵌套路由
2017/03/24 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
基于JavaScript 实现拖放功能
2019/09/12 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
python字符串替换示例
2014/04/24 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
六查六看自查材料
2014/02/17 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
银行会计主管岗位职责
2014/10/01 职场文书
派出所正风肃纪剖析材料
2014/10/10 职场文书
面试感谢信范文
2015/01/22 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书
找规律教学反思
2016/02/23 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书