python Process退出 退出python程序_退出程序


今天,我们尝试用python来编写一个简单的PC端番茄钟,需要实现的功能如下:

  1. 启动时“滴”一声并询问:“休息时间结束!是否开始一个新的番茄钟?”
  2. 如果用户点击"OK",则开始计时,点击“取消”则退出程序。
  3. 25分钟后“滴”一声并询问:“工作时间结束!是否开始休息?”
  4. 如果用户点击"OK",则开始计时,点击“取消”则退出程序。
  5. 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


它的模样如图所示:


python Process退出 退出python程序_qt messagebox退出程序_02


如果点击“确定”,对话框返回True值,点击“取消”返回False值。

3. time

time是一个跟时间有关的库。在这个例子中,我们要用time库中的sleep()方法来计时,比如让程序休眠25分钟:


from


4. 全部代码

有了这些基本方法之后,我们可以用一个while循环和一个if...else...条件结构来编写我们的番茄钟。


from


说明:

  1. break语句的作用是从while循环中跳出。
  2. 为了使后面打包的exe程序尽量小,我们从库中导入单个的函数,而不是整个库。

下一篇我们将介绍如何把python文件打包成可独立运行的exe程序。