万普插件库

jQuery插件大全与特效教程

中考倒计时python代码实现_2021中考倒计时软件





import datetime

import tkinter as tk

from tkinter import font

# 励志语句库

MOTIVATIONAL_QUOTES = [

"坚持就是胜利!", "每一天都是新的开始!", "努力不会背叛你。",

# ... 保持原有40条语句不变 ...

"你想要的未来,藏在现在的努力里。"

]

class CountdownApp:

def __init__(self, master):

self.master = master

master.title("高考倒计时励志牌")

master.configure(bg="#F0F8FF") # 爱丽丝蓝背景

# 设置字体

self.title_font = font.Font(family="微软雅黑", size=24, weight="bold")

self.count_font = font.Font(family="Arial", size=48, weight="bold")

self.quote_font = font.Font(family="楷体", size=18)

# 创建界面元素

self.create_widgets()

# 初始更新

self.update_display()

# 每天00:00自动更新

self.schedule_update()

def create_widgets(self):

# 主框架

main_frame = tk.Frame(self.master, bg="#F0F8FF", padx=20, pady=20)

main_frame.pack(expand=True)

# 标题

title_label = tk.Label(main_frame,

text="2025高考倒计时",

font=self.title_font,

bg="#F0F8FF",

fg="#2F4F4F") # 深石板灰

title_label.pack(pady=(0, 20))

# 倒计时数字显示

self.count_label = tk.Label(main_frame,

font=self.count_font,

bg="#87CEEB", # 天蓝色

fg="#FFFFFF",

width=3,

relief="ridge",

borderwidth=4)

self.count_label.pack(pady=10)

# 单位标签

unit_label = tk.Label(main_frame,

text="天",

font=self.title_font,

bg="#F0F8FF",

fg="#2F4F4F")

unit_label.pack()

# 分隔线

sep = tk.Canvas(main_frame, bg="#F0F8FF", height=20, highlightthickness=0)

sep.create_line(50, 10, 350, 10, width=2, fill="#87CEEB")

sep.pack(fill='x', pady=20)

# 励志语句显示

self.quote_label = tk.Label(main_frame,

wraplength=380,

justify="center",

font=self.quote_font,

bg="#F0F8FF",

fg="#228B22") # 森林绿

self.quote_label.pack(pady=10)

# 状态栏

self.status_bar = tk.Label(self.master,

text="每日一句激励,成就更好自己!",

bd=1,

relief="sunken",

anchor="w",

bg="#E6E6FA", # 薰衣草色

fg="#696969")

self.status_bar.pack(side="bottom", fill="x")

def calculate_days(self):

target_date = datetime.date(2025, 3, 20)

start_date = datetime.date(2025, 2, 13)

today = datetime.date.today()

days_remaining = (target_date - today).days

days_passed = (today - start_date).days

return days_remaining, days_passed

def get_quote_index(self, days_passed):

if days_passed < 0:

return -1

return days_passed % len(MOTIVATIONAL_QUOTES)

def update_display(self):

days_remaining, days_passed = self.calculate_days()

# 更新倒计时

if days_remaining < 0:

self.count_label.config(text="0", bg="#FF4500") # 橙红色

else:

self.count_label.config(text=str(days_remaining), bg="#87CEEB")

# 更新励志语句

if days_passed < 0:

self.quote_label.config(text="倒计时尚未开始,提前准备就是胜利!")

self.status_bar.config(text="当前日期早于2025年2月13日")

else:

index = self.get_quote_index(days_passed)

self.quote_label.config(text=MOTIVATIONAL_QUOTES[index])

self.status_bar.config(text=f"已坚持 {days_passed} 天 ? {datetime.date.today().isoformat()}")

def schedule_update(self):

now = datetime.datetime.now()

next_day = now + datetime.timedelta(days=1)

next_day = next_day.replace(hour=0, minute=0, second=0)

delta = (next_day - now).seconds * 1000 # 转换为毫秒

self.master.after(delta, self.daily_update)

def daily_update(self):

self.update_display()

# 每天00:00后重新设置定时器

self.master.after(86400000, self.daily_update) # 24小时

if __name__ == "__main__":

root = tk.Tk()

root.geometry("500x400+300+200") # 窗口大小和初始位置

# 设置窗口图标(需要准备ico文件)

# root.iconbitmap('clock.ico')

app = CountdownApp(root)

root.mainloop()

主要改进和特性:

1. 美观的UI设计:

- 柔和渐变色背景

- 大号立体数字显示

- 书法字体标题

- 装饰性分隔线

- 状态栏显示坚持天数和当前日期

2. 智能更新机制:

- 每天00:00自动刷新数据

- 倒计时归零时数字变红

- 自动计算天数差和语句索引

3. 响应式布局:

- 自适应窗口大小

- 自动换行的励志语句

- 合理的元素间距和边距

4. 视觉增强:

- 使用不同颜色区分状态

- 立体边框效果

- 专业字体搭配

- 状态栏进度提示

使用方法:

1. 直接运行即可,会自动获取系统日期

2. 窗口默认位置在屏幕(300,200)坐标处

3. 每天凌晨自动更新显示内容

4. 倒计时归零后会显示红色0并停止更新

扩展建议:

1. 可以添加`clock.ico`文件作为窗口图标

2. 增加声音提醒功能

3. 添加历史记录查看功能

4. 集成天气信息显示

5. 添加用户自定义语句功能

这个版本在保持功能完整性的同时,通过合理的颜色搭配、字体选择和布局设计,使界面更加专业美观,适合长期在桌面上显示。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言