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

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

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

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

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

源码如下:

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()

运行结果如下图:

image.png
image.png

以上的小程序,有些代码可以通过AI小蜜蜂的GPT问答获取,非常方便,给力。

相关文章
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
307 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
330 104
|
3月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
270 103
|
3月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
202 82
|
2月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
193 3
|
2月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
468 3
|
2月前
|
数据采集 监控 数据库
Python异步编程实战:爬虫案例
🌟 蒋星熠Jaxonic,代码为舟的星际旅人。从回调地狱到async/await协程天堂,亲历Python异步编程演进。分享高性能爬虫、数据库异步操作、限流监控等实战经验,助你驾驭并发,在二进制星河中谱写极客诗篇。
Python异步编程实战:爬虫案例
|
2月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
283 3
|
2月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
288 0
|
3月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。

推荐镜像

更多