小編給大家分享一下怎么用Python做一個久坐提醒小助手,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)公司專注于瑞昌網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供瑞昌營銷型網(wǎng)站建設(shè),瑞昌網(wǎng)站制作、瑞昌網(wǎng)頁設(shè)計(jì)、瑞昌網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造瑞昌網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供瑞昌網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。python主要應(yīng)用領(lǐng)域有哪些1、云計(jì)算,典型應(yīng)用OpenStack。2、WEB前端開發(fā),眾多大型網(wǎng)站均為Python開發(fā)。3.人工智能應(yīng)用,基于大數(shù)據(jù)分析和深度學(xué)習(xí)而發(fā)展出來的人工智能本質(zhì)上已經(jīng)無法離開python。4、系統(tǒng)運(yùn)維工程項(xiàng)目,自動化運(yùn)維的標(biāo)配就是python+Django/flask。5、金融理財(cái)分析,量化交易,金融分析。6、大數(shù)據(jù)分析。
整體設(shè)計(jì)
整體的構(gòu)思類似于一個番茄時鐘,提供一個倒計(jì)時功能并且在完成計(jì)時時發(fā)出警告。主要分為如下幾個模塊,一是時間選擇模塊,二是按鈕模塊,控制計(jì)時開始、暫停以及恢復(fù),三是倒計(jì)時顯示模塊,并在倒計(jì)時完成之后發(fā)出警告。
模塊一
這一塊主要是組合框的設(shè)計(jì),并傳遞所選擇時間的具體數(shù)值,非常簡單。
label2=tkinter.Label(self.win,text='請選擇時間間隔:').place(x=40,y=20) self.cv=tkinter.StringVar() self.com=ttk.Combobox(self.win,textvariable=self.cv) self.com.place(x=190,y=20) self.com['value']=("15分鐘","30分鐘","45分鐘","60分鐘") self.com.current(0) self.com.bind("<>", self.get_time) def get_time(self,event): self.minute=int(self.com.get()[:-2])
模塊二
這一塊主要是三個按鍵功能的設(shè)計(jì),是軟件的核心部分。實(shí)現(xiàn)的功能與按鈕的名稱完全一致,當(dāng)選擇了定時的時間,按下開始按鈕時,觸發(fā)倒計(jì)時的秒表,并實(shí)時顯示;按下暫停之后需要暫停倒計(jì)時的計(jì)數(shù);按下繼續(xù)之后需要繼續(xù)倒計(jì)時的計(jì)數(shù)。
其中倒計(jì)時的計(jì)算,我是通過利用獲取目標(biāo)學(xué)習(xí)時長的數(shù)值加上當(dāng)前時間計(jì)算得到最終計(jì)時完成的時間,本來是非常完美的,但是引入了暫停和繼續(xù)開始這兩項(xiàng)功能之后需要做出一定程度的改進(jìn),那就是倒計(jì)時的計(jì)算需要補(bǔ)充暫停的時長。
button=tkinter.Button(self.win,text="開始",command=self.alarm,width=6,height=1) button.place(x=40,y=60) button2=tkinter.Button(self.win,text="暫停",command=self.pause,width=6,height=1) button2.place(x=180,y=60) button3=tkinter.Button(self.win,text="繼續(xù)",command=self.go_on,width=6,height=1) button3.place(x=320,y=60) def alarm(self): self.now=datetime.datetime.now() delta=datetime.timedelta(minutes=self.minute) self.target=self.now+delta self.win.after(0,self.update) def pause(self): self.pause_time=datetime.datetime.now() self.flag=True self.win.after_cancel() def go_on(self): self.go_on_now=datetime.datetime.now() self.pause_long=self.go_on_now-self.pause_time+self.pause_long self.flag=False self.win.after(0,self.update)
模塊三
把這個倒計(jì)時顯示模塊放置于最醒目的位置,并在完成當(dāng)前計(jì)時時發(fā)出警告的消息。核心便是下面的update函數(shù),實(shí)現(xiàn)倒計(jì)時的實(shí)時更新。
def update(self): now=datetime.datetime.now() countdown=self.target-now+self.pause_long self.label=tkinter.Label(self.win,text=str(countdown)[:7],font=("黑體",70)) self.label.place(x=60,y=130) if str(countdown)[:7]=='0:00:00': tkinter.messagebox.showwarning(title="FBIWarning",message="您已工作{}分鐘,請馬上離開座位休息片刻!".format(self.minute)) self.flag=True self.win.after_cancel() if self.flag==False: self.win.after(1,self.update)
看完了這篇文章,相信你對“怎么用Python做一個久坐提醒小助手”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!