作者简介:一名云计算运维人员、每天分享Python的学习经验、和学习笔记。
座右铭:低头赶路,敬事如仪
个人主页:网络豆的主页
目录
前言
一.应用的技术
1.Tkinter
2.PHotoimage 函数
3.label组件
二.效果图
三、实现步骤
1.引入tkinter标准库 取别名为 tk
2.设置窗口
3. 用 PHotoimage 函数设置一个图片对象
背景图(自取)
4.定义一个label组件,设置文本
5.取得现在时间并且计算到新年时间
6. 设置文本内容
四、编码实现(全部源代码)
快到2023年了,提前预祝大家新年快乐,万事如意,今天呢网络豆在这里给大家理由Python做一个超简单的新年倒计时。如果对你有帮助记得点赞收藏加关注哦。
Tkinter 是 Python 的标准 GUI 库。 Python 使用 Tkinter 可以快速的创建 GUI 应用程序。 由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。
在Tkinter中,一些小部件可以显示图像,例如Label和Button。这些小部件采用允许它们显示图像的图像参数。但是,不能简单地将图像文件的路径传递给image参数。相反,需要创建一个Photolmage对象并将图像参数传递给它
Label用于在指定的窗口中显示文本和图像。最终呈现出的Label是由背景和前景叠加构成的内容。Label组件定义函数:Label(master=None, cnf={}, **kw) 其中,kw参数是用来自定义lable组件的键值对。
import tkinter as tk # 引入tkinter标准库 取别名为 tk
import sys
import time
import datetime
import math
root = tk.Tk() # 设置tk 的主窗口
root.geometry("600x400") # 主窗口 600x400 大小
root.title("salted fish") # 设置主窗口标题内容 "salted fish"
img = tk.PhotoImage(file = "1111.png")
注意:图片格式要为.png格式,将图片存放到 你Python文档的文件中
bg_labe =tk.Label(root, # 定义一个label组件
justify=tk.LEFT, # 设置多行文本对其方式
compound=tk.CENTER, # 设置文本和图像混合模式
font=("微软雅黑", 35), # 设置字体的样式和大小
fg="red", # 设置文本字体颜色
image=img) # 设置图片
bg_labe.place(x=0, y=0) # 设置label 对象在主窗口中的位置
bg_labe.pack()
def cdn():
spring = datetime.datetime(2023, 1, 22, 0, 0)# 给定过年正月的具体时间, datetime 可以将参数变为时间格式
today = datetime.datetime.now() # 取得现在的时间
day = (spring - today).days # 用春节的时间减现在的时间 得到天数
second = (spring - today).seconds # 得到秒数
sec = second % 60 # 分别算出 具体秒数 分钟数 和 小时数
minute = second / 60 % 60
hour = second / 60 / 60
if hour > 24:
hour = hour - 24 # 如果小时大于24就减掉24
hour = math.floor(hour) # 去掉hour 和 minute 的小数部分
minute = math.floor(minute)
bg_labe.config(text=str(day) + "天" + str(hour) + "小时" + str(minute) + "分钟" + str(sec) + "秒") # 设置 bg_label 对象的文本内容
sys.stdout.flush()
bg_labe.after(1000, cdn) # 设置对象一秒执行一个 cdn 函数
cdn() # 调用 cdn 函数
tk.mainloop()
import tkinter as tk # 引入tkinter标准库 取别名为 tk
import sys
import time
import datetime
import math
root = tk.Tk() # 设置tk 的主窗口
root.geometry("600x400") # 主窗口 600x400 大小
root.title("salted fish") # 设置主窗口标题内容 "salted fish"
img = tk.PhotoImage(file = "1111.png") # 用 PHotoimage 函数设置一个图片对象
bg_labe =tk.Label(root, # 定义一个label组件
justify=tk.LEFT, # 设置多行文本对其方式
compound=tk.CENTER, # 设置文本和图像混合模式
font=("微软雅黑", 35), # 设置字体的样式和大小
fg="red", # 设置文本字体颜色
image=img) # 设置图片
bg_labe.place(x=0, y=0) # 设置label 对象在主窗口中的位置
bg_labe.pack()
def cdn():
spring = datetime.datetime(2023, 1, 22, 0, 0)
today = datetime.datetime.now()
day = (spring - today).days
second = (spring - today).seconds
sec = second % 60
minute = second / 60 % 60
hour = second / 60 / 60
if hour > 24:
hour = hour - 24
hour = math.floor(hour)
minute = math.floor(minute)
bg_labe.config(text=str(day) + "天" + str(hour) + "小时" + str(minute) + "分钟" + str(sec) + "秒") # 设置 bg_label 对象的文本内容
sys.stdout.flush()
bg_labe.after(1000, cdn) # 设置对象一秒执行一个 cdn 函数
cdn() # 调用 cdn 函数
tk.mainloop()
创作不易,求关注,点赞,收藏,谢谢~