Python利用tkinter實現(xiàn)一個簡易番茄鐘的示例代碼
之前搗鼓樹莓派時,要求做一個番茄鐘,但最后就只是搞成一個與樹莓派沒啥關(guān)系的py程序,雖然簡陋,但就此記錄一下自學(xué)的成果。
程序?qū)崿F(xiàn)番茄工作法:25分鐘工作,5分鐘休息
完成一次番茄工作時間,就記一個番茄
(不把休息時間算在里面,有時候自己都不想休息,好吧,是我不知道怎么把番茄工作時間和休息時間聯(lián)系在一塊來記錄番茄個數(shù))
這個程序倒計時顯示的是從24:59開始,是因為按的時候算是1秒?
運行界面如下:

自己感覺這個界面還行,樸素中帶著點高級感
代碼參考了一些大佬寫的番茄鐘程序,特別是那個倒計時的實現(xiàn),很神奇.
代碼如下:
import tkinter
from tkinter import messagebox
import time
#創(chuàng)建番茄鐘窗口
root = tkinter.Tk()
root.title('番茄鐘小程序')
root.geometry('300x300')
root.configure(bg='Tomato')
#創(chuàng)建計數(shù)的
count = 0
#創(chuàng)建完成計時后的彈窗
def mymsg():
tkinter.messagebox.showinfo("提示", "恭喜完成一個番茄鐘?。∮浀眯菹⒁幌?)
def mymsg2():
tkinter.messagebox.showinfo("提示", "休息完畢!")
#創(chuàng)建番茄計時函數(shù)
# strptime()函數(shù)將字符串轉(zhuǎn)換為datetime
def tomato_clock():
remain_time = 1500
bb = time.strftime('/ %M:%S', time.gmtime(remain_time))
lb2.configure(text=bb)
lb3.configure(text='剩余時間/總時間')
for i in range(1500):
remain_time -= 1
aa = time.strftime('%M:%S', time.gmtime(remain_time))
lb.configure(text=aa)
root.update()
time.sleep(1)
if remain_time == 0:
tomato_count()
mymsg()
#創(chuàng)建計數(shù)的函數(shù)
def tomato_count():
global count
count += 1
lb4.configure(text=count)
#創(chuàng)建休息時間函數(shù)
def relax():
remain_time = 300
bbb = time.strftime('/ %M:%S', time.gmtime(remain_time))
lb2.configure(text=bbb)
lb3.configure(text='剩余時間/總時間')
for i in range(300):
remain_time -= 1
aaa = time.strftime('%M:%S', time.gmtime(remain_time))
lb.configure(text=aaa)
root.update()
time.sleep(1)
if remain_time == 0:
mymsg2()
#創(chuàng)建各種標(biāo)簽
#番茄動態(tài)計時
lb = tkinter.Label(root, text=' ', bg='Tomato', fg='white', font='Verdana 16 bold', width=7, height=1)
lb.place(x=50, y=100)
#番茄固定時間
lb2 = tkinter.Label(root, text=' ', bg='Tomato', fg='white', font='Verdana 16 bold', width=8, height=1)
lb2.place(x=138, y=100)
#剩余時間/總時間
lb3 = tkinter.Label(root, text=' ', bg='Tomato', fg='white', font='Verdana 16 bold', width=14, height=2)
lb3.place(x=50, y=44)
#番茄個數(shù)顯示
lb4 = tkinter.Label(root, text='0', bg='Tomato', fg='white', font='Verdana 16 bold', width=7, height=1)
lb4.place(x=25, y=20)
#左上角的 番茄:
lb5 = tkinter.Label(root, text='番茄:', bg='Tomato', fg='white', font='Verdana 16 bold', width=4, height=1)
lb5.place(x=5, y=20)
#按鈕
#開啟一個番茄
Button1 = tkinter.Button(root, text='開啟一個番茄', bg='orange', fg='black', font='Verdana 13 bold', width=15, height=1, command=tomato_clock)
Button1.place(x=70, y=150)
#休息一下
Button2 = tkinter.Button(root, text='休息一下', bg='cornflowerblue', fg='black', font='Verdana 13 bold', width=15, height=1, command=relax)
Button2.place(x=70, y=200)
#循環(huán)
root.mainloop()到此這篇關(guān)于Python利用tkinter實現(xiàn)一個簡易番茄鐘的示例代碼的文章就介紹到這了,更多相關(guān)Python tkinter番茄鐘內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pytorch中Tensor與各種圖像格式的相互轉(zhuǎn)化詳解
這篇文章主要介紹了Pytorch中Tensor與各種圖像格式的相互轉(zhuǎn)化詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
簡介Python設(shè)計模式中的代理模式與模板方法模式編程
這篇文章主要介紹了Python設(shè)計模式中的代理模式與模板方法模式編程,文中舉了兩個簡單的代碼片段來說明,需要的朋友可以參考下2016-02-02
python編寫學(xué)生成績管理系統(tǒng)的邏輯結(jié)構(gòu)及功能實現(xiàn)
這篇文章主要為大家介紹了python編寫學(xué)生成績管理系統(tǒng)實現(xiàn)八個功能示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04
教你漂亮打印Pandas DataFrames和Series
在今天的文章中,我們將探討如何配置所需的pandas選項,這些選項將使我們能夠“漂亮地打印” pandas DataFrames,需要的朋友可以參考下2021-05-05
淺談keras通過model.fit_generator訓(xùn)練模型(節(jié)省內(nèi)存)
這篇文章主要介紹了淺談keras通過model.fit_generator訓(xùn)練模型(節(jié)省內(nèi)存),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

