Python利用tkinter實(shí)現(xiàn)一個(gè)簡易番茄鐘的示例代碼
之前搗鼓樹莓派時(shí),要求做一個(gè)番茄鐘,但最后就只是搞成一個(gè)與樹莓派沒啥關(guān)系的py程序,雖然簡陋,但就此記錄一下自學(xué)的成果。
程序?qū)崿F(xiàn)番茄工作法:25分鐘工作,5分鐘休息
完成一次番茄工作時(shí)間,就記一個(gè)番茄
(不把休息時(shí)間算在里面,有時(shí)候自己都不想休息,好吧,是我不知道怎么把番茄工作時(shí)間和休息時(shí)間聯(lián)系在一塊來記錄番茄個(gè)數(shù))
這個(gè)程序倒計(jì)時(shí)顯示的是從24:59開始,是因?yàn)榘吹臅r(shí)候算是1秒?
運(yùn)行界面如下:
自己感覺這個(gè)界面還行,樸素中帶著點(diǎn)高級感
代碼參考了一些大佬寫的番茄鐘程序,特別是那個(gè)倒計(jì)時(shí)的實(shí)現(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)建計(jì)數(shù)的 count = 0 #創(chuàng)建完成計(jì)時(shí)后的彈窗 def mymsg(): tkinter.messagebox.showinfo("提示", "恭喜完成一個(gè)番茄鐘!!記得休息一下") def mymsg2(): tkinter.messagebox.showinfo("提示", "休息完畢!") #創(chuàng)建番茄計(jì)時(shí)函數(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='剩余時(shí)間/總時(shí)間') 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)建計(jì)數(shù)的函數(shù) def tomato_count(): global count count += 1 lb4.configure(text=count) #創(chuàng)建休息時(shí)間函數(shù) def relax(): remain_time = 300 bbb = time.strftime('/ %M:%S', time.gmtime(remain_time)) lb2.configure(text=bbb) lb3.configure(text='剩余時(shí)間/總時(shí)間') 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)簽 #番茄動(dòng)態(tài)計(jì)時(shí) lb = tkinter.Label(root, text=' ', bg='Tomato', fg='white', font='Verdana 16 bold', width=7, height=1) lb.place(x=50, y=100) #番茄固定時(shí)間 lb2 = tkinter.Label(root, text=' ', bg='Tomato', fg='white', font='Verdana 16 bold', width=8, height=1) lb2.place(x=138, y=100) #剩余時(shí)間/總時(shí)間 lb3 = tkinter.Label(root, text=' ', bg='Tomato', fg='white', font='Verdana 16 bold', width=14, height=2) lb3.place(x=50, y=44) #番茄個(gè)數(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) #按鈕 #開啟一個(gè)番茄 Button1 = tkinter.Button(root, text='開啟一個(gè)番茄', 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實(shí)現(xiàn)一個(gè)簡易番茄鐘的示例代碼的文章就介紹到這了,更多相關(guān)Python tkinter番茄鐘內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python利用Faiss庫實(shí)現(xiàn)ANN近鄰搜索的方法詳解
這篇文章主要介紹了Python利用Faiss庫實(shí)現(xiàn)ANN近鄰搜索的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Django restframework 框架認(rèn)證、權(quán)限、限流用法示例
這篇文章主要介紹了Django restframework 框架認(rèn)證、權(quán)限、限流用法,結(jié)合實(shí)例形式詳細(xì)分析了Djangorestframework 框架認(rèn)證、權(quán)限、限流的具體使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-12-12Selenium+Python自動(dòng)化腳本環(huán)境搭建的全過程
說到自動(dòng)化測試,就不得不提大名鼎鼎的Selenium,Selenium 是如今最常用的自動(dòng)化測試工具之一,支持快速開發(fā)自動(dòng)化測試框架,且支持在多種瀏覽器上執(zhí)行測試,下面這篇文章主要給大家介紹了關(guān)于Selenium+Python自動(dòng)化腳本環(huán)境搭建的相關(guān)資料,需要的朋友可以參考下2021-09-09Python如何存儲數(shù)據(jù)到j(luò)son文件
這篇文章主要介紹了Python如何存儲數(shù)據(jù)到j(luò)son文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Python八大常見排序算法定義、實(shí)現(xiàn)及時(shí)間消耗效率分析
這篇文章主要介紹了Python八大常見排序算法定義、實(shí)現(xiàn)及時(shí)間消耗效率分析,結(jié)合具體實(shí)例形式對比分析了冒泡排序、直接插入排序、選擇排序、歸并排序、希爾排序、桶排序、堆排序等排序算法的使用與執(zhí)行效率,需要的朋友可以參考下2018-04-04python使用selenium操作瀏覽器的實(shí)現(xiàn)示例
Selenium是一個(gè)模擬瀏覽器瀏覽網(wǎng)頁的工具,主要用于測試網(wǎng)站的自動(dòng)化測試工具,本文主要介紹了python使用selenium操作瀏覽器的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01Python基于opencv調(diào)用攝像頭獲取個(gè)人圖片的實(shí)現(xiàn)方法
今天小編就為大家分享一篇關(guān)于Python基于opencv調(diào)用攝像頭獲取個(gè)人圖片的實(shí)現(xiàn)方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02使用Python實(shí)現(xiàn)一鍵往Word文檔的表格中填寫數(shù)據(jù)
在工作中,我們經(jīng)常遇到將Excel表中的部分信息填寫到Word文檔的對應(yīng)表格中,以生成報(bào)告,方便打印,所以本文小編就給大家介紹了如何使用Python實(shí)現(xiàn)一鍵往Word文檔的表格中填寫數(shù)據(jù),文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2023-12-12python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之最近鄰kNN分類器
這篇文章主要介紹了python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之最近鄰kNN分類器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12