python实现中考倒计时

一眨眼就初三了,学校目前还没给我们倒计时,于是想自己做一个中考倒计时,顺带激励一下自己。

然后上网搜了一下广州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黑框

打包完成后放到桌面就能运行了

大概就这样吧

最后祝也要中考的小伙伴和自己中考顺利,成功上岸

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值