天天看点

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应用程序。

更多精彩内容尽在视频中!

继续阅读