Python编程小案例——编一个事件提醒弹窗小程序

Python编程小案例------编一个事件提醒弹窗小程序

​ 平时生活中有时候遇到这样的情况,早上把鸡蛋煮了,然后就进到书房开始忙自己的事了。不知不觉把煮鸡蛋的事彻底忘了,随着时间的推移,厨房里散发出来不正常的锅烧糊的味道,才突然意识到,忘了煮鸡蛋的事情。连忙跑进厨房,发现锅都烧干了,满屋子都是烧糊的气味。而且这样的事情我已经不是一次两次了,今天寻思利用所学的Python知识编一个事件提醒的弹窗小程序。就是再煮鸡蛋的时候,回到书房就把这个提醒程序运行起来,时间设定为10分钟,一般煮鸡蛋也就10分钟就熟了。

原理:设定一个时间长度,然后开启倒计时,当倒计时完成的时候,弹窗一个事件提醒窗口。

为了演示方便,我设计了一个倒计时窗口,实际运行的时候,不必显示这个窗口,倒计时程序在后台运行,然后结束的时候,直接弹窗提示即可。

源码如下:

python 复制代码
import tkinter as tk
from tkinter import messagebox
import datetime
import time


# 定义警告弹窗函数
def alert_window():
    # 创建主窗口
    root1 = tk.Tk()
    root1.withdraw()  # 隐藏主窗口
    # 弹出消息框
    messagebox.showinfo('警告', '你煮的鸡蛋是不是熟了?快去看看!!!!')


# 创建主窗口
root = tk.Tk()
# 设置窗口尺寸和标题
root.geometry("220x80")
root.title("事件提醒窗口")

# 固定显示的信息
fixed_message = "倒计时开始".center(40, '-')
fixed_label = tk.Label(root, text=fixed_message)
fixed_label.pack()


# 设置初始倒计时时间(以秒为单位)
countdown_time = int(input('请输入计时时长(秒)>>> '))
# 定义函数,更新倒计时时间并显示到标签上
def update_countdown():
    global countdown_time
    curr_time = datetime.datetime.now()
    timestamp = datetime.datetime.strftime(curr_time, '%Y-%m-%d %H:%M:%S')
    # 将倒计时时间转换为分钟和秒钟
    minutes, seconds = divmod(countdown_time, 60)

    # 显示现在的时间
    curr_label.config(text=f'当前时间是:{timestamp}')
    # 更新倒计时标签文本
    countdown_label.config(text=f'倒 计 时:{minutes:02d}分:{seconds:02d}秒')

    if countdown_time == 0:
        alert_window()
    # 每1秒钟更新一次倒计时时间
    if countdown_time > 0:
        countdown_time -= 1
        root.after(1000, update_countdown)


# 创建当前时间标签
curr_label = tk.Label(root, text="")
curr_label.pack()
# 创建倒计时标签
countdown_label = tk.Label(root, text="")
countdown_label.pack()

# 启动倒计时函数
update_countdown()

# 进入事件循环
root.mainloop()

运行结果如下图:

以上的小程序,有些代码可以通过AI小蜜蜂的GPT问答获取,非常方便,给力。网址为:https://zglg.work。

相关推荐
文慧的科技江湖1 分钟前
2026年10月4日充电桩行业晚报:当“只充80%“成为通行规则,行业开始管单车占桩时长 | 慧知开源充电桩平台
开源·apache·新能源·虚拟电厂·充电桩·ocpp·v2g
零基础1237 分钟前
VoiceStudio 开源项目深度解析:特性、对比与实战测试
人工智能·经验分享·python·开源
2601_9628857211 分钟前
如何用 Python 做均线粘合选股?(多头发散前的变盘候选)
开发语言·python
zhangzeyuaaa13 分钟前
Ruby 方法参数完全指南:默认值、可变参数与关键字参数
前端·python·ruby
小小张说故事19 分钟前
pytest 写了用例却不跑、fixture 不生效、参数化全失效?9 个高频坑对照表
python
外收内放30 分钟前
08 | 优化篇③ 60 张动作立绘和 50 张特效贴图是怎么进游戏的
python·游戏·pygame
计算机毕业编程指导师43 分钟前
【计算机毕设推荐】基于Hadoop+Django的LLM多维度性能评估分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·django·毕业设计·课程设计·llm性能
AC赳赳老秦1 小时前
OpenClaw 与 FineBI 联动方案:公开数据自动采集与实时业务分析看板实践
大数据·开发语言·python·php·finebi·deepseek·openclaw
计算机毕业编程指导师1 小时前
【Python毕设选题推荐】基于Hadoop+Django的奥斯卡奖获奖数据可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·毕业设计·课程设计·奥斯卡奖
风早爽太1 小时前
Python 学习笔记:数据库迁移工具 ‌Alembic
数据库·python·fastapi·alembic