首頁 > 軟體

Python利用tkinter實現一個簡易番茄鐘的範例程式碼

2022-12-03 14:01:01

之前搗鼓樹莓派時,要求做一個番茄鍾,但最後就只是搞成一個與樹莓派沒啥關係的py程式,雖然簡陋,但就此記錄一下自學的成果。

程式實現番茄工作法:25分鐘工作,5分鐘休息

完成一次番茄工作時間,就記一個番茄

(不把休息時間算在裡面,有時候自己都不想休息,好吧,是我不知道怎麼把番茄工作時間和休息時間聯絡在一塊來記錄番茄個數)

這個程式倒計時顯示的是從24:59開始,是因為按的時候算是1秒?

執行介面如下:

自己感覺這個介面還行,樸素中帶著點高階感

程式碼參考了一些大佬寫的番茄鍾程式,特別是那個倒計時的實現,很神奇.

程式碼如下:

import tkinter
from tkinter import messagebox
import time
 
#建立番茄鍾視窗
root = tkinter.Tk()
root.title('番茄鍾小程式')
root.geometry('300x300')
root.configure(bg='Tomato')
 
#建立計數的
count = 0
 
#建立完成計時後的彈窗
def mymsg():
    tkinter.messagebox.showinfo("提示", "恭喜完成一個番茄鍾!!記得休息一下")
def mymsg2():
    tkinter.messagebox.showinfo("提示", "休息完畢!")
 
 
#建立番茄計時函數
# strptime()函數將字串轉換為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()
 
#建立計數的函數
def tomato_count():
    global count
    count += 1
    lb4.configure(text=count)
 
#建立休息時間函數
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()
 
#建立各種標籤
 
#番茄動態計時
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)
 
#番茄個數顯示
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)
 
#迴圈
root.mainloop()

到此這篇關於Python利用tkinter實現一個簡易番茄鐘的範例程式碼的文章就介紹到這了,更多相關Python tkinter番茄鍾內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com