简单的python制作带GUI的闹钟

构建闹钟项目

我们项目的目标是使用Python实现闹钟。Python由一些非常创新的库(例如datetime和tkinter)组成,这些库可以帮助我们使用当前日期和时间来构建项目,并提供一个用户界面来根据要求以24小时格式设置警报。

该项目需要Python和GUI(图形用户界面)方面的丰富知识。将Python与Tkinter结合使用时,可以轻松快速地创建GUI应用程序。Tkinter为Tk GUI工具包提供了强大的面向对象的界面。不需要像其他库(如NumPy)一样预先下载所有使用的模块,并且可以在用于python编程的任何虚拟环境中访问。

项目文件结构

首先,让我们检查一下在Python中构建闹钟程序的步骤:

  • 导入所需的所有库和模块
  • 提出了一个使用时间作为参数的while循环,用户希望打开闹钟并在时间到时自动中断并发出声音
  • 创建一个用于用户输入的显示窗口。

一、我们导入所有必需的库

<code>from tkinter import *
import datetime
import time
import winsound/<code>
  • Tkinter属于Python中GUI的标准库。它有助于我们创建一个对话框,其中包含我们要提供或从用户那里获得的任何信息。
  • Datetimetime可帮助我们在用户操作时处理当时的日期和时间,并对其进行操作。
  • Winsound提供对Windows平台提供的基本声音播放机制的访问。这在调用函数时立即产生声音很有用。

二、创建一个while循环

<code>def alarm(set_alarm_timer):
    while True:
        time.sleep(1)
        current_time = datetime.datetime.now()
        now = current_time.strftime("%H:%M:%S")
        date = current_time.strftime("%d/%m/%Y")
        print("The Set Date is:",date)
        print(now)
        if now == set_alarm_timer:
            print("Time to Wake up")
            winsound.PlaySound("sound.wav",winsound.SND_ASYNC)
            break

def actual_time():
    set_alarm_timer = f"{hour.get()}:{min.get()}:{sec.get()}"
    alarm(set_alarm_timer)/<code>
  • 定义一个名为alarm()的函数,该函数接受(set_alarm_timer)作为参数。它包含一个while循环和一个布尔函数True,使程序自动运行。
  • time.sleep(1)停止执行所给出的其他命令,直到稍后在代码中从用户那里获得时间值,并以固定间隔返回时钟时间的后台线程。
  • 使用current_time获取当前时间,该时间采用
    datetime.datetime.now()的参数。
  • 现在用于输出时间,日期用于通过使用strftime()进行字符串转换来输出当前日期。
  • 在此处定义另一个函数actual_time(),该函数采用用户值以字符串格式设置警报。(set_alarm_timer)的参数与Alarm相同,以执行while循环,我们将在制作GUI时进一步使用该循环。
  • 如果循环表明用户输入的时间set_alarm_timer与while循环正在进行的时间匹配,则该消息将显示为“Time to Wake up”。
  • 只要条件满足,winsound.SND_ASYNC就会播放系统生成的声音,闹钟就会发出提醒用户的声音。

三、使用tkinter创建GUI

<code>clock = Tk()
clock.title("Alarm Clock")
clock.geometry("400x200")
time_format=Label(clock, text= "Enter time in 24 hour format!", fg="red",bg="black",font="Arial").place(x=60,y=120)
addTime = Label(clock,text = "Hour  Min   Sec",font=60).place(x = 110)
setYourAlarm = Label(clock,text = "When to wake you up",fg="blue",relief = "solid",font=("Helevetica",7,"bold")).place(x=0, y=29)

# The Variables we require to set the alarm(initialization):
hour = StringVar()
min = StringVar()
sec = StringVar()

#Time required to set the alarm clock:
hourTime= Entry(clock,textvariable = hour,bg = "pink",width = 15).place(x=110,y=30)
minTime= Entry(clock,textvariable = min,bg = "pink",width = 15).place(x=150,y=30)
secTime = Entry(clock,textvariable = sec,bg = "pink",width = 15).place(x=200,y=30)

#To take the time input by user:
submit = Button(clock,text = "Set Alarm",fg="red",width = 10,command = actual_time).place(x =110,y=70)

clock.mainloop()
#Execution of the window./<code> 
  • 为了初始化tkinter,我们将名为Clock的命令传递为Tk()
  • 该对话框的标题为400 * 200的Alarm Clock。我们使用time_format传递标题以提及24小时的时间格式。
  • 第二个标题在用户输入框上方给出,使用addTime的标签为“ Hour Min Sec” 。
  • 只是为了使对话框看起来更新颖,使用setYourAlarm添加另一个标签为“When to wake you up” 。
  • 由于我们已经在字符串之前(实际时间)转换了当前时间,因此我们为用户输入对话框初始化的变量在StringVar()中
  • 最后,输入诸如hourTimeminTime
    secTime之类的输入框,以输入用户想要以24小时格式设置闹钟的时间。
  • 提交使用已定义函数actual_time的命令并执行时钟,因为它充当启动程序的设置按钮。
  • Clock.mainloop()是基本的,给出的最后一个命令是使用颜色,字体,宽度,轴等的基本设置来编译所有先前的命令,并在程序运行时立即显示窗口。
<code>python Alarm-Clock.py/<code>


简单的python制作带GUI的闹钟


分享到:


相關文章: