您好,登錄后才能下訂單哦!
小編給大家分享一下怎么用Python做一個(gè)久坐提醒小助手,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
1、云計(jì)算,典型應(yīng)用OpenStack。2、WEB前端開(kāi)發(fā),眾多大型網(wǎng)站均為Python開(kāi)發(fā)。3.人工智能應(yīng)用,基于大數(shù)據(jù)分析和深度學(xué)習(xí)而發(fā)展出來(lái)的人工智能本質(zhì)上已經(jīng)無(wú)法離開(kāi)python。4、系統(tǒng)運(yùn)維工程項(xiàng)目,自動(dòng)化運(yùn)維的標(biāo)配就是python+Django/flask。5、金融理財(cái)分析,量化交易,金融分析。6、大數(shù)據(jù)分析。
整體設(shè)計(jì)
整體的構(gòu)思類(lèi)似于一個(gè)番茄時(shí)鐘,提供一個(gè)倒計(jì)時(shí)功能并且在完成計(jì)時(shí)時(shí)發(fā)出警告。主要分為如下幾個(gè)模塊,一是時(shí)間選擇模塊,二是按鈕模塊,控制計(jì)時(shí)開(kāi)始、暫停以及恢復(fù),三是倒計(jì)時(shí)顯示模塊,并在倒計(jì)時(shí)完成之后發(fā)出警告。
模塊一
這一塊主要是組合框的設(shè)計(jì),并傳遞所選擇時(shí)間的具體數(shù)值,非常簡(jiǎn)單。
label2=tkinter.Label(self.win,text='請(qǐng)選擇時(shí)間間隔:').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("<<ComboboxSelected>>", self.get_time) def get_time(self,event): self.minute=int(self.com.get()[:-2])
模塊二
這一塊主要是三個(gè)按鍵功能的設(shè)計(jì),是軟件的核心部分。實(shí)現(xiàn)的功能與按鈕的名稱(chēng)完全一致,當(dāng)選擇了定時(shí)的時(shí)間,按下開(kāi)始按鈕時(shí),觸發(fā)倒計(jì)時(shí)的秒表,并實(shí)時(shí)顯示;按下暫停之后需要暫停倒計(jì)時(shí)的計(jì)數(shù);按下繼續(xù)之后需要繼續(xù)倒計(jì)時(shí)的計(jì)數(shù)。
其中倒計(jì)時(shí)的計(jì)算,我是通過(guò)利用獲取目標(biāo)學(xué)習(xí)時(shí)長(zhǎng)的數(shù)值加上當(dāng)前時(shí)間計(jì)算得到最終計(jì)時(shí)完成的時(shí)間,本來(lái)是非常完美的,但是引入了暫停和繼續(xù)開(kāi)始這兩項(xiàng)功能之后需要做出一定程度的改進(jìn),那就是倒計(jì)時(shí)的計(jì)算需要補(bǔ)充暫停的時(shí)長(zhǎng)。
button=tkinter.Button(self.win,text="開(kāi)始",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)
模塊三
把這個(gè)倒計(jì)時(shí)顯示模塊放置于最醒目的位置,并在完成當(dāng)前計(jì)時(shí)時(shí)發(fā)出警告的消息。核心便是下面的update函數(shù),實(shí)現(xiàn)倒計(jì)時(shí)的實(shí)時(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="您已工作{}分鐘,請(qǐng)馬上離開(kāi)座位休息片刻!".format(self.minute)) self.flag=True self.win.after_cancel() if self.flag==False: self.win.after(1,self.update)
看完了這篇文章,相信你對(duì)“怎么用Python做一個(gè)久坐提醒小助手”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。