一眨眼就初三了,学校目前还没给我们倒计时,于是想自己做一个中考倒计时,顺带激励一下自己。
然后上网搜了一下广州2023中考的时间,也没有准确说,大概在6.20~6.22左右
但是没关系,不妨碍我完成呢。
说到倒计时最先想到的是python的time库,time库是很好用。后来发现了一个库叫datetime,可以直接用中考的时间减去当前的时间,超级方便。
于是中考倒计时的简陋版就出来了
很简单,也就几行代码
#中考倒计时
import datetime
print('中考倒计时')
now = datetime.datetime.now()
print(' 今天是:',now.strftime('%Y-%m-%d %A'))
time = datetime.datetime(2023,6,20)
print('距离中考开始还有:'+str((time-now).days)+'天')
运行结果如下:
中考倒计时
今天是: 2022-10-30 Sunday
距离中考开始还有:232天
现在我已经知道了还有多少天中考,但我想要的中考倒计时是那种可以在桌面上运行,打开很好看的那种。
于是我想到了python的GUI方向,tkinter就是python自带的模块,很好学
但是tkinter库有一个缺点,就是界面太难看了!!!不少小伙伴都为此困扰过呐
然后我就在C站搜,发现了ttkbootstrap库这个宝藏!
官方网站:ttkbootstrap - ttkbootstrap ttkbootstrap一个实例主题
简约又美观,一下就心动了,毅然决然下了这个库
import time
import datetime
from tkinter import messagebox
import ttkbootstrap as ttk
#定义中考时间,现在时间
exam_time = datetime.datetime(2023,6,20)
now = datetime.datetime.now()
lctime = time.localtime()
lctimee = time.strftime("%Y-%m-%d",lctime)
#建立窗口
root = ttk.Window(title="中考倒计时",themename="litera",size=(500,400),position=(700,100),resizable=None)
#打印今天的时间
tt = ttk.Label(root,text= "今天是"+str(lctimee),font=("仿宋",24),bootstyle="dark")
tt.pack(padx=5, pady=10)
#打印中考倒计时
t = ttk.Label(root,text="距离中考还有"+str((exam_time-now).days)+"天!",font=("华文琥珀",30),bootstyle="warning")
t.pack(padx=5, pady=10)
root.mainloop()
效果如下:
有内味了
再搞个按钮退出吧
#定义退出功能
def quitty():
h=ttk.Label(root,text="中考必胜",font=("楷体",30),bootstyle="info")
h.pack()
messagebox.showinfo("中考倒计时","看你骨骼精奇,定能去个好高中")
time.sleep(1)
root.quit()
#创建退出按钮
btn2 = ttk.Button(root,text='知道了',bootstyle="primary",command=quitty)
btn2.pack()
不错不错(人还是要有点迷信的哈哈哈
后来想了想还是不够,于是在退出那里又加了个烟花,烟花的实现是用pygame库搞的,代码有点长就不放了
最后打包!
打包要用到pyinstaller库
:\>pyinstaller -F -w 中考倒计时.py
-F是打包,-w是去掉cmd黑框
打包完成后放到桌面就能运行了
大概就这样吧
最后祝也要中考的小伙伴和自己中考顺利,成功上岸!