
今天,我们尝试用python来编写一个简单的PC端番茄钟,需要实现的功能如下:
- 启动时“滴”一声并询问:“休息时间结束!是否开始一个新的番茄钟?”
- 如果用户点击"OK",则开始计时,点击“取消”则退出程序。
- 25分钟后“滴”一声并询问:“工作时间结束!是否开始休息?”
- 如果用户点击"OK",则开始计时,点击“取消”则退出程序。
- 5分钟后回到第1步,开始下一轮循环。
为了实现以上功能,我们需要用到三个python内建库:winsound、tkinter和time。
1. winsound
顾名思义,winsound能让windows系统发出声音。这里我们要用到其中的一个Beep()方法,具体用法如下:
from
Beep的第一个参数代表音量大小,第二个参数代表蜂鸣持续时间长短,(600, 1000)的组合是我尝试过的比较理想的组合,当然我们也可以选择其他的数值。
2. tkinter
tkinter是python内建的一个图形界面(GUI)工具包,里面提供了各种组件,熟悉web交互式设计的同学应该对它很有亲近感。不熟悉也不要紧,可以使用tkinter提供的一些高级模块,比如messagebox。
messagebox就是“消息框”的意思,它有askokcancel askquestion showinfo等不同的类型,我们可以选择自己需要的类型。这里我选择的是askokcancel,用法是:
from
它的模样如图所示:

如果点击“确定”,对话框返回True值,点击“取消”返回False值。
3. time
time是一个跟时间有关的库。在这个例子中,我们要用time库中的sleep()方法来计时,比如让程序休眠25分钟:
from
4. 全部代码
有了这些基本方法之后,我们可以用一个while循环和一个if...else...条件结构来编写我们的番茄钟。
from
说明:
- break语句的作用是从while循环中跳出。
- 为了使后面打包的exe程序尽量小,我们从库中导入单个的函数,而不是整个库。
下一篇我们将介绍如何把python文件打包成可独立运行的exe程序。
















