天天看點

Python Tkinter界面應用開發-06 結束

這節課,我們來完成番茄應用程式的收尾工作,我們要實作:計時結束時,程式會彈出一個提示視窗,

TkInter子產品提供了這個功能。但這個功能沒有直接在TkInter子產品中.是以我們需要導入tkinter中的MessageBox類。我們會說:

import tkinter
from tkinter import messagebox      

它提供很多不同的消息框。它可以彈出是或否的對話框供使用者互動。或者它會彈出一個警告對話框。這裡我們隻是為了共享資訊。是以,讓我們來到這裡。定義一個新的函數,因為它會被觸發,是以,我們需要它帶一個args參數:

def alert(self, *args):
 def minutes_seconds(self, seconds):      

然後,如果沒有剩下時間,也就是說,一個番茄鐘結束時,我們要做的就是彈出一個提示消息對話框。這裡的标題是“時間到!”。然後提示的消息是:“www.oxox.work”:

def alert(self, *args):
if not self.time_left.get():messagebox.showinfo('www.oxox.work','時間到!')      

但現在,我們應該在哪裡觸發這個函數呢?和timer_text一樣,我們來到init函數中,每當剩餘的時間timer_left被改變的時候,我們就調用self.alert:

self.timer_text = tkinter.StringVar()
self.timer_text.trace('w', self.build_timer)self.time_left = tkinter.IntVar()self.time_left.set(DEFAULT_GAP)
        self.time_left.trace('w', self.alert)      

是以,每當我們的Update函數更改剩餘的秒數,alert函數就會被調用,看看是否應該啟動消息框。讓我們運作試試.是以四,三,二,一.彈出一個提示資訊:

是吧,非常棒,是以,也就是一百來行代碼,我們建構了一個完整的Pymodoro應用程式。

更多精彩内容盡在視訊中!

繼續閱讀