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中base64加密解密方法实例分析
May 16 Python
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
Python中的Numpy矩阵操作
Aug 12 Python
Django2.1.3 中间件使用详解
Nov 26 Python
详解用Python练习画个美队盾牌
Mar 23 Python
selenium+python自动化测试环境搭建步骤
Jun 03 Python
python的pyecharts绘制各种图表详细(附代码)
Nov 11 Python
django queryset 去重 .distinct()说明
May 19 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
May 27 Python
pandas之分组groupby()的使用整理与总结
Jun 18 Python
python Polars库的使用简介
python基础之匿名函数详解
Apr 21 #Python
Python基础之字符串格式化详解
Apr 21 #Python
python 自动刷新网页的两种方法
python实现Thrift服务端的方法
python基础之while循环语句的使用
看看如何用Python绘制小米新版天价logo
You might like
PHP setTime 设置当前时间的代码
2012/08/27 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
jquery 打开窗口返回值实现代码
2010/03/04 Javascript
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
2019/05/16 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
在python plt图表中文字大小调节的方法
2019/07/08 Python
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
写给女朋友的道歉信
2014/01/12 职场文书
迟到早退检讨书
2014/02/10 职场文书
《穷人》教学反思
2014/04/08 职场文书
公开承诺书格式
2014/05/21 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
租房协议书样本
2014/08/20 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
2014幼儿园小班工作总结
2014/11/10 职场文书
故宫导游词
2015/01/31 职场文书
宣传委员竞选稿
2015/11/19 职场文书
导游词之广西漓江
2019/11/02 职场文书