欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > Python实战:拥有设闹钟功能的可视化动态闹钟的实现

Python实战:拥有设闹钟功能的可视化动态闹钟的实现

2025/4/7 22:38:35 来源:https://blog.csdn.net/Srlua/article/details/140359310  浏览:    关键词:Python实战:拥有设闹钟功能的可视化动态闹钟的实现


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:Python

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

​​

​​

目录

动态闹钟

PyInstaller 库

运行实例:

设闹钟:

先将文件打包

可以拖拽到桌面~

win+R,输入cmd

在命令行输入,python clock.py 22-28

完整代码:


使用python实现动态闹钟

主要功能如下:
1、利用 turtle 等图形绘制库,绘制一个动态的数码管时钟,其中,时、分秒分别用不同颜色进行区分。
2、能够通过键盘设定闹钟,实现window 弹窗提醒。
3、通过PyInstaller 库转换成可执行文件。

PyInstaller

PyInstaller 是一个用于将 Python 应用程序打包成独立可执行文件的库。

它能够将 Python 脚本和相关的依赖项(如库、资源文件)打包成一个单独的可执行文件,这样用户可以在没有安装 Python 解释器或相关库的情况下运行应用程序。使用 PyInstaller 可以方便地创建跨平台的可执行文件,支持 Windows、Mac 和 Linux 等多个平台。

运行实例:

设闹钟:

先将文件打包

可以拖拽到桌面~

win+R,输入cmd

在命令行输入,python clock.py 22-28

clock.py为文件名,如果文件名不同,根据实际文件名修改
意思就是22点28分提醒

完整代码:

from turtle import *
from datetime import datetime
import time
import sys
from tkinter import messagebox, Tkdef drawGap():penup()fd(5)def drawLine(draw):drawGap()pendown() if draw else penup()fd(40)drawGap()right(90)def drawDigit(d):speed(0)drawLine(True) if d in [2, 3, 4, 5, 6, 8, 9] else drawLine(False)drawLine(True) if d in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False)drawLine(True) if d in [0, 2, 3, 5, 6, 8, 9] else drawLine(False)drawLine(True) if d in [0, 2, 6, 8] else drawLine(False)left(90)drawLine(True) if d in [0, 4, 5, 6, 8, 9] else drawLine(False)drawLine(True) if d in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)drawLine(True) if d in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)left(180)penup()fd(20)def drawDate(date):pencolor('Red')for i in date:if i == "-":write('时', font=('Arial', 24, 'normal'))pencolor('Green')fd(40)elif i == '=':write('分', font=('Arial', 24, 'normal'))pencolor('Blue')fd(40)elif i == '+':write('秒', font=('Arial', 24, 'normal'))else:drawDigit(eval(i))def main(alarm_time=None):setup(800, 350, 200, 200)hideturtle()pensize(8)tracer(False)  # 设置快速模式root = Tk()root.withdraw()  # 隐藏主窗口while True:clear()  # 清除之前绘制的内容penup()goto(-300, 0)current_time = datetime.now().strftime('%H-%M=%S+')drawDate(current_time)update()  # 手动刷新屏幕if alarm_time and current_time.startswith(alarm_time):messagebox.showinfo("闹钟提醒", "时间到了!")alarm_time = None  # 清除闹钟时间,防止重复提示time.sleep(1)if __name__ == "__main__":alarm_time = Noneif len(sys.argv) > 1:alarm_time = sys.argv[1]  # 获取命令行输入的闹钟时间,格式为 HH-MMmain(alarm_time)done()

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词