Python 中的带 GUI 的闹钟

2025年3月17日 | 阅读 7 分钟

闹钟一直以来都很有用,可以在我们睡觉时提醒我们,打个小盹,或者提醒我们一些我们可能会忘记的重要日子,这并不奇怪。

闹钟是一种时钟,其目的是在指定时间发出警报。这些时钟的主要功能是唤醒人们的夜间睡眠或小睡;有时也用于其他提醒。

在接下来的教程中,我们将使用 Python 编程语言中的 **Tkinter** 库开发一个基本的闹钟。

Python 项目简介

在这个 Python 项目中,我们将考虑使用一些 Python 库,即 **Tkinter** 和 **datetime**。我们将在项目中使用当前的日期和时间,并具有根据找到的当前日期和时间设置闹钟的功能。

现在让我们开始使用 **Tkinter** 构建闹钟。

构建 GUI 闹钟

此 Python 项目的步骤分为几个部分。

步骤 1:导入所需的模块

步骤 2:创建闹钟函数

步骤 3:创建 **Tkinter** 窗口

现在我们将详细了解这些步骤。

导入所需模块

在我们开始构建任何项目之前,首要步骤是导入我们项目所需的所有重要库和模块。在这种情况下,我们将需要 **Tkinter** 库以及 **datetime**、**time** 和 **winsound** 模块。

  1. Tkinter 库:此库允许我们创建一个用户窗口来使用该应用程序。
  2. Datetime 和 time 模块:这些模块允许我们处理日期和时间,并在需要时帮助我们操作它们。
  3. winsound 模块:此模块允许我们生成闹钟声音。

现在让我们来看以下代码片段,它说明了所需模块的导入。

文件:alarmClock.py

说明

在上方的代码片段中,我们已经导入了所需的模块。

创建闹钟函数

导入完成后,我们将进入下一步,包括创建闹钟函数。

让我们考虑以下演示相同内容的代码片段。

文件:alarmClock.py

说明

在上方的代码片段中,我们定义了一个名为 **alarm** 的函数,其参数为 **setAlarmTimer**。在此函数中,我们使用 **while** 循环进行 **True**。在此循环内部,我们使用 **time** 模块的 **sleep** 函数来停止程序执行,直到它获取用户输入的时间值。然后,我们使用 **datetime** 模块的 **datetime.now()** 函数获取当前日期和时间,并将其存储在一个变量中。然后,我们使用 **strftime** 函数以特定格式将时间和日期存储到单独的变量中。然后,我们打印一条消息表示当前时间。然后,我们使用 **if** 条件语句检查当前时间是否等于设置的闹钟计时器,并使用 **winsound** 模块播放相应的声音,否则计时器继续。然后,我们定义了另一个名为 **getAlarmTime()** 的函数,它接受用户输入要设置为闹钟的时间,并将其传递给上一个函数。

创建 Tkinter 窗口

现在我们已经创建了闹钟函数,让我们继续进行最后一步,即使用所有定义的控件和功能创建应用程序的主窗口。

让我们看下面的代码片段来说明这一点:

文件:alarmClock.py

说明

我们在上面的代码片段中使用了 **Tk()** 类创建了一个 GUI 窗口。然后,我们使用 **title()** 和 **geometry()** 方法设置了窗口标题并指定了尺寸。然后,我们在 **config()** 方法中使用了 **bg** 属性,并将背景颜色设置为 **#87BDD8**。我们还通过在 **resizable()** 方法中将 **width** 和 **height** 设置为 **False** 来固定了窗口的尺寸。

GUI 闹钟”项目的编码终于完成了。现在我们可以保存文件并运行程序来查看其是否正常工作。

要运行程序,我们可以在命令行 shell 或终端中键入以下命令

命令

但在我们看到输出之前,这里有一个完整的项目代码。

完整的项目代码

以下程序文件是“GUI 闹钟”项目的完整代码。

文件:alarmClock.py

输出

Current Time: 16 : 23 : 46
Current Time: 16 : 23 : 47
Current Time: 16 : 23 : 48
Current Time: 16 : 23 : 49
Current Time: 16 : 23 : 50
Current Time: 16 : 23 : 51
Current Time: 16 : 23 : 52
Current Time: 16 : 23 : 53
Current Time: 16 : 23 : 54
Current Time: 16 : 23 : 55
Current Time: 16 : 23 : 56
Current Time: 16 : 23 : 57
Current Time: 16 : 23 : 58
Current Time: 16 : 23 : 59
Current Time: 16 : 24 : 00
*ALARM*

Alarm Clock with GUI in Python