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实现遍历数据库并获取key的值
May 17 Python
Python编程修改MP3文件名称的方法
Apr 19 Python
Python实现的随机森林算法与简单总结
Jan 30 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
Django实现分页功能
Jul 02 Python
用python生成1000个txt文件的方法
Oct 25 Python
Django自带的加密算法及加密模块详解
Dec 03 Python
Keras使用tensorboard显示训练过程的实例
Feb 15 Python
python里的单引号和双引号的有什么作用
Jun 17 Python
浅析Python打包时包含静态文件处理方法
Jan 15 Python
python绘制汉诺塔
Mar 01 Python
pytorch 实现L2和L1正则化regularization的操作
Mar 03 Python
python Polars库的使用简介
python基础之匿名函数详解
Apr 21 #Python
Python基础之字符串格式化详解
Apr 21 #Python
python 自动刷新网页的两种方法
python实现Thrift服务端的方法
python基础之while循环语句的使用
看看如何用Python绘制小米新版天价logo
You might like
PHP 5.0对象模型深度探索之绑定
2006/09/05 PHP
一个用php3编写的简单计数器
2006/10/09 PHP
php使用curl模拟登录后采集页面的例子
2013/11/04 PHP
php中simplexml_load_file函数用法实例
2014/11/12 PHP
php页面缓存方法小结
2015/01/10 PHP
微信access_token的获取开发示例
2015/04/16 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
js页面跳转的常用方法整理
2013/10/18 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
浅析Javascript ES6新增值比较函数Object.is
2016/08/24 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
JS重载实现方法分析
2016/12/16 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
python Django连接MySQL数据库做增删改查
2013/11/07 Python
python使用循环实现批量创建文件夹示例
2014/03/25 Python
Python实现建立SSH连接的方法
2015/06/03 Python
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
python二分查找算法的递归实现方法
2016/05/12 Python
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
wxpython实现图书管理系统
2018/03/12 Python
python3+PyQt5实现拖放功能
2018/04/24 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
如何提高MySql的安全性
2014/06/19 面试题
公司拓展活动方案
2014/02/13 职场文书
财务管理专业毕业生求职信
2014/06/02 职场文书
机关作风建设自查报告
2014/10/22 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
公司人力资源管理制度
2015/08/05 职场文书