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

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

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

Python 123.py

效果

相关推荐
AI周红伟1 小时前
周红伟:DeepSeek官方教您如何部署Hermes Agent 和接入 DeepSeek-V4-Pro
人工智能·深度学习·学习·机器学习·copilot·openclaw
GISer_Jing1 小时前
AI原生全栈架构理论体系:从分布式范式演进到全链路工程化理论基石
前端·人工智能·学习·ai编程
babe小鑫1 小时前
零经验转行学习数据分析的价值分析
学习·数据挖掘·数据分析
zhangrelay2 小时前
三分钟云课实践速通--单片机原理与应用--Arduino--SimulIDE--
linux·单片机·嵌入式硬件·学习·ubuntu
格林威2 小时前
工业视觉检测:单样本学习 vs 传统监督学习
人工智能·深度学习·数码相机·学习·计算机视觉·视觉检测·工业相机
vooy pktc2 小时前
Spring Security 官网文档学习
java·学习·spring
TechMix2 小时前
【fkw学习笔记】Android 13 AOSP 源码添加系统预置应用实战指南
android·笔记·学习
承渊政道2 小时前
【动态规划算法】(两个数组的DP问题深度剖析与求解方法)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
bendandawugui2 小时前
PCIe协议学习-浅谈SR-IOV
学习
辞旧 lekkk3 小时前
【Qt】初识(上)
开发语言·数据库·qt·学习·萌新