当前位置: 首页 > news >正文

初级python代码编程学习----简单的图形化闹钟小程序

              我们来创建一个简单的图形化闹钟程序通常需要使用图形用户界面(GUI)库。以下是使用Python的Tkinter库创建一个基本闹钟程序的步骤:

环境准备

  1. 确保已安装Python。
  2. 安装Tkinter库(Python 3.8及以上版本自带Tkinter,无需额外安装)。

编写代码

以下是一个简单的闹钟程序示例:

import tkinter as tk
from datetime import datetime, timedelta
import time

class AlarmClock:
    def __init__(self, master):
        self.master = master
        master.title("图形化闹钟")

        self.label = tk.Label(master, text="", font=('Helvetica', 40))
        self.label.pack()

        self.set_alarm_button = tk.Button(master, text="设置闹钟", command=self.set_alarm)
        self.set_alarm_button.pack()

        self.alarm_time = None

    def set_alarm(self):
        now = datetime.now().strftime('%H:%M:%S')
        self.alarm_time = datetime.strptime(now, '%H:%M:%S') + timedelta(seconds=60)  # 闹钟设置为一分钟后
        self.update_label()

    def update_label(self):
        now = datetime.now()
        if now >= self.alarm_time:
            self.label.config(text="闹钟响了!")
        else:
            seconds_remaining = (self.alarm_time - now).total_seconds()
            minutes, seconds = divmod(seconds_remaining, 60)
            time_string = f"{int(minutes):02d}:{int(seconds):02d}"
            self.label.config(text=time_string)
        
        self.master.after(1000, self.update_label)

if __name__ == "__main__":
    root = tk.Tk()
    alarm_clock = AlarmClock(root)
    root.mainloop()

 

源代码

import tkinter as tk
from datetime import datetime, timedelta
import timeclass AlarmClock:def __init__(self, master):self.master = mastermaster.title("图形化闹钟")self.label = tk.Label(master, text="", font=('Helvetica', 40))self.label.pack()self.set_alarm_button = tk.Button(master, text="设置闹钟", command=self.set_alarm)self.set_alarm_button.pack()self.alarm_time = Nonedef set_alarm(self):now = datetime.now().strftime('%H:%M:%S')self.alarm_time = datetime.strptime(now, '%H:%M:%S') + timedelta(seconds=60)  # 闹钟设置为一分钟后self.update_label()def update_label(self):now = datetime.now()if now >= self.alarm_time:self.label.config(text="闹钟响了!")else:seconds_remaining = (self.alarm_time - now).total_seconds()minutes, seconds = divmod(seconds_remaining, 60)time_string = f"{int(minutes):02d}:{int(seconds):02d}"self.label.config(text=time_string)self.master.after(1000, self.update_label)if __name__ == "__main__":root = tk.Tk()alarm_clock = AlarmClock(root)root.mainloop()

保存为.py文件。例如123.py

然后在Python环境下运行它。例如

Python 123.py

效果


http://www.mrgr.cn/news/3851.html

相关文章:

  • centos7.9离线安装kubernetes(k8s)1.28版本
  • 【论文阅读33】Deep learning optoacoustic tomography with sparse data
  • 78.内存对齐
  • Java二十三种设计模式-解释器模式(23/23)
  • 深入理解命令模式:设计模式中的行为型模式解析
  • 揭秘面试必备:高频算法与面试题全面解析
  • turtle画图知识
  • “职场加速器:高频面试题与算法精讲”
  • 【C语言小项目】五子棋游戏
  • vue3中实现给pdf加盖公章(手动拖拽公章确认位置)
  • 基于STM32F103的FreeRTOS系列(十一)·信号量·二值信号量与计数信号量详细使用以及移植教程
  • 使用Go env命令设置Go的环境
  • 招生简章哪里可以免费上传
  • CF1929F
  • 基于协同过滤算法的体育商品推荐系统_t81xg
  • 二叉树剪枝
  • 2-72 基于matlab的平稳小波变换进行多聚焦图像融合
  • 【Spring进阶】掌握Spring框架核心注解:从基础到实战应用(Spring深度解析)
  • Linux rocky 9.2 安装mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz
  • Java | Leetcode Java题解之第357题统计各位数字都不同的数字个数