溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用Python做一個(gè)久坐提醒小助手

發(fā)布時(shí)間:2021-04-25 14:13:44 來(lái)源:億速云 閱讀:224 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下怎么用Python做一個(gè)久坐提醒小助手,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

python主要應(yīng)用領(lǐng)域有哪些

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ā)出警告。

怎么用Python做一個(gè)久坐提醒小助手

模塊一

這一塊主要是組合框的設(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ù)。

怎么用Python做一個(gè)久坐提醒小助手

其中倒計(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í)更新。

怎么用Python做一個(gè)久坐提醒小助手

  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è)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI