python編寫一個(gè)GUI倒計(jì)時(shí)器
本文實(shí)例為大家分享了python實(shí)現(xiàn)GUI倒計(jì)時(shí)器的具體代碼,供大家參考,具體內(nèi)容如下

代碼:
import tkinter as tk
from time import time
?
print("hello world")
?
?
class TimeCounter:
? ? def __init__(self):
? ? ? ? root = tk.Tk()
? ? ? ? root.title("計(jì)時(shí)器")
? ? ? ? root.geometry('800x600')
? ? ? ? self.display = tk.Label(root, text="00:00", width=20, font=('微軟雅黑', 50), fg="red")
? ? ? ? self.display.pack()
?
? ? ? ? self.button_start = tk.Button(root, text='start', command=self.start)
? ? ? ? self.button_start.pack()
?
? ? ? ? self.Varmin = tk.StringVar()
? ? ? ? self.entrymin = tk.Entry(root, textvariable = self.Varmin)
? ? ? ? self.entrymin.pack()
?
? ? ? ? self.Varsec = tk.StringVar()
? ? ? ? self.entrysec = tk.Entry(root, textvariable = self.Varsec)
? ? ? ? self.entrysec.pack()
?
? ? ? ? self.paused = True
? ? ? ? root.mainloop() ? ? ?# 進(jìn)入消息循環(huán)
?
? ? def start(self):
? ? ? ? if self.paused:
? ? ? ? ? ? self.oldtime = time()
? ? ? ? ? ? self.paused = False
? ? ? ? ? ? self.run_timer()
? ? def gettime(self):
? ? ? ? try:
? ? ? ? ? ? min = self.entrymin.get()
? ? ? ? ? ? min = int(min)
? ? ? ? except:
? ? ? ? ? ? min = 0
?
? ? ? ? try:
? ? ? ? ? ? sec = self.entrysec.get()
? ? ? ? ? ? sec = int(sec)
? ? ? ? except:
? ? ? ? ? ? sec = 0
?
? ? ? ? self.minsec = 60*min+sec
?
? ? ? ? return self.minsec
?
? ? def run_timer(self):
?
? ? ? ? self.minsec = self.gettime()
? ? ? ? self.deltas = time() - self.oldtime ? # ?正向計(jì)時(shí)
? ? ? ? self.deltas1 = self.minsec - self.deltas
?
? ? ? ? print(self.deltas)
? ? ? ? print(self.deltas1)
? ? ? ? if self.deltas1>0:
? ? ? ? ? ? deltasstr = '{:.0f}:{:.3f}'.format(*divmod(self.deltas1,60)) ? #用 * 拆分這個(gè)元組
? ? ? ? else:
? ? ? ? ? ? deltasstr = '00:00'
?
? ? ? ? print(deltasstr)
? ? ? ? self.display.config(text = deltasstr) #更新 text
? ? ? ? self.display.after(1,self.run_timer) ?# 間隔1毫秒再次執(zhí)行run_timer函數(shù),after循環(huán)定時(shí)器
?
?
TimeCounter()以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
10分鐘學(xué)會使用python實(shí)現(xiàn)人臉識別(附源碼)
這篇文章主要介紹了10分鐘學(xué)會使用python實(shí)現(xiàn)人臉識別(附源碼),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03
如何基于Python Matplotlib實(shí)現(xiàn)網(wǎng)格動畫
這篇文章主要介紹了如何基于Python Matplotlib實(shí)現(xiàn)網(wǎng)格動畫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Python數(shù)據(jù)序列化技術(shù)總結(jié)
在現(xiàn)代軟件開發(fā)中,數(shù)據(jù)序列化是一個(gè)關(guān)鍵環(huán)節(jié),它允許我們將復(fù)雜的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為可存儲或可傳輸?shù)母袷?,Python提供了多種數(shù)據(jù)序列化技術(shù),每種技術(shù)都有其獨(dú)特的性能優(yōu)勢和適用場景,本文將詳細(xì)介紹幾種強(qiáng)大的Python數(shù)據(jù)序列化技術(shù),需要的朋友可以參考下2025-03-03
Micropython固件使用Pico刷固件并配置VsCode開發(fā)環(huán)境的方法
這篇文章主要介紹了Micropython固件使用Pico刷固件并配置VsCode開發(fā)環(huán)境的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-07-07
Django 在iframe里跳轉(zhuǎn)頂層url的例子
今天小編就為大家分享一篇Django 在iframe里跳轉(zhuǎn)頂層url的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python實(shí)現(xiàn)將MySQL數(shù)據(jù)庫表中的數(shù)據(jù)導(dǎo)出生成csv格式文件的方法
這篇文章主要介紹了Python實(shí)現(xiàn)將MySQL數(shù)據(jù)庫表中的數(shù)據(jù)導(dǎo)出生成csv格式文件的方法,涉及Python針對mysql數(shù)據(jù)庫的連接、查詢、csv格式數(shù)據(jù)文件的生成等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01

