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

效果

相关推荐
南宫生8 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__8 小时前
Web APIs学习 (操作DOM BOM)
学习
数据的世界0110 小时前
.NET开发人员学习书籍推荐
学习·.net
四口鲸鱼爱吃盐10 小时前
CVPR2024 | 通过集成渐近正态分布学习实现强可迁移对抗攻击
学习
OopspoO13 小时前
qcow2镜像大小压缩
学习·性能优化
A懿轩A13 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列
居居飒13 小时前
Android学习(四)-Kotlin编程语言-for循环
android·学习·kotlin
kkflash314 小时前
提升专业素养的实用指南
学习·职场和发展
1 9 J14 小时前
数据结构 C/C++(实验五:图)
c语言·数据结构·c++·学习·算法
6.9415 小时前
Scala——身份证号码查询籍贯
学习·scala