python實現(xiàn)簡單倒計時功能
更新時間:2021年04月20日 17:17:10 作者:一條小白魚
這篇文章主要為大家詳細介紹了python實現(xiàn)簡單倒計時功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
使用python實現(xiàn)簡單倒計時exe,供大家參考,具體內(nèi)容如下
使用tkinter制作界面實現(xiàn)倒計時功能。

- 使用time.sleep(1)實現(xiàn) 秒級 倒計時
- 使用線程避免界面卡死
- 在線程的循環(huán)中檢測全局標志位,保證計時線程的重置、以及退出
- 使用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()
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python中的數(shù)據(jù)對象持久化存儲模塊pickle的使用示例
這篇文章主要介紹了Python中的數(shù)據(jù)對象持久化存儲模塊pickle的使用示例,重點講解了pickle中模塊中對象持久化和文件讀取的相關方法,需要的朋友可以參考下2016-03-03
舉例簡單講解Python中的數(shù)據(jù)存儲模塊shelve的用法
這篇文章主要介紹了舉例簡單講解Python中的數(shù)據(jù)存儲模塊shelve的用法,shelveshelve模塊與pickle模塊的功能相近,比pickle用起來更為簡單,需要的朋友可以參考下2016-03-03
詳解python異步編程之a(chǎn)syncio(百萬并發(fā))
這篇文章主要介紹了詳解python異步編程之a(chǎn)syncio(百萬并發(fā)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
Python如何在ubuntu中更改Python和pip指向
這篇文章主要介紹了Python如何在ubuntu中更改Python和pip指向問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
據(jù)Python爬蟲不靠譜預測可知今年雙十一銷售額將超過6000億元
已經(jīng)是十一月十號了,雙十一即將到來,電商早已預熱多日,為了在實戰(zhàn)中獲得能力的提升,本篇文章手把手帶你用Python來預測一下今年雙十一的銷售額將會達到多少,大家可以在過程中查缺補漏,提升水平2021-11-11
python中使用mysql數(shù)據(jù)庫詳細介紹
這篇文章主要介紹了python中使用mysql數(shù)據(jù)庫詳細介紹,本文起講解了安裝mysql、安裝MySQL-python、mysql 的基本操作、python 操作mysql數(shù)據(jù)庫基礎等內(nèi)容,需要的朋友可以參考下2015-03-03
Python中生成一個指定長度的隨機字符串實現(xiàn)示例
這篇文章主要介紹了Python中生成一個指定長度的隨機字符串,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11

