栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

记录一个基于Python的纪念日天数计算桌面小控件

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

记录一个基于Python的纪念日天数计算桌面小控件

实验室摸鱼期间写了一个在桌面上可以显示纪念日的小控件 结合上一篇文章读者应该知道为什么写以及给谁写哈哈^-^

首先是获取今天的日期 利用datetime库很轻松就可以实现

now datetime.datetime.now()

再者就是计算与指定日期相隔的时间

firstday datetime.datetime.strptime( 2021-09-19 , %Y-%m-%d )
day now - firstday

这样基本的功能已经实现了

后面就是用tkinter制作界面 为了美观 要做到  界面有一定的透明度、界面小巧、最好去掉标题栏

#去掉标题栏
self.overrideredirect(1)
#设置透明度(取值范围:[0,1])
self.attributes( -alpha , 0.4)

最后我用了四个label控件来显示内容 其中两个label控件显示的是变量

附上完整代码

import time
import tkinter as tk
import datetime
firstday datetime.datetime.strptime( 2021-09-19 , %Y-%m-%d )
now datetime.datetime.now()
day now - firstday
print(now.date())
class Clock(tk.Tk):
 def __init__(self) - None:
 super().__init__()
 #设置窗口初始位置及大小
 self.geometry( 390x60 1530 980 )
 #设置窗口置顶
 # self.attributes( -topmost , 1)
 #初始化时间字符串
 self.time_text 
 #去掉标题栏
 self.overrideredirect(1)
 #设置透明度(取值范围:[0,1])
 self.attributes( -alpha , 0.4)
 #添加窗口移动事件
 self.bind( B1-Motion ,self.move)
 #设置字符标签
 self.lbl tk.Label(self, text now.date(), font ( 黑体 , 14), background black , fg red , width 40, height 0).place(x 0, y 0, anchor nw )
 self.lbl2 tk.Label(self, text 私たちは , font ( 黑体 , 14), background black , fg red , width 12, height 2).place(x 0, y 20, anchor nw )
 self.lbl3 tk.Label(self, text day.days, font ( 黑体 , 14), background black , fg red , width 3, height 2).place(x 100, y 20, anchor nw )
 self.lbl4 tk.Label(self, text 日間くらい付き合いました , font ( 黑体 , 14), background black ,fg red , width 27, height 2).place(x 122, y 20, anchor nw )
 def move(self, event):
 窗口移动事件 
 self.geometry(f {self.window_size} {(event.x - self.x) self.winfo_x()} {(event.y - self.y) self.winfo_y()} )
 def update_time(self):
 #设置时间格式
 self.lbl.config(text time.strftime( %Y-%m-%d %H:%M:%S ))
 #设置更新时间频率
 self.after(1000, self.update_time)
 def calculate1(self):
 day now - firstday
 return day.days
 # 日期计算
 def calculate2(a):
 x datetime.timedelta(days a)
 day firstday x
 return day.date()
#程序主函数
Clock().mainloop()

我把它放在了屏幕的右下角 效果是这样的

 利用pyinstaller打包成exe文件。win R 输入msconfig 将打包后的程序快捷方式添加到开机自动项中去 这样开机后 程序会自动在桌面显示。再也不用担心忘记纪念日而被女友暴揍了^0^!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267784.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号