Python编程 简单春节倒计时教程(附源代码)

news2024/9/25 19:16:01

  • 作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 

  •  座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​​

目录

 前言

一.应用的技术

1.Tkinter

2.PHotoimage 函数

3.label组件

二.效果图

三、实现步骤 

1.引入tkinter标准库 取别名为 tk

 2.设置窗口

3. 用 PHotoimage 函数设置一个图片对象

背景图(自取)

4.定义一个label组件,设置文本

5.取得现在时间并且计算到新年时间

6. 设置文本内容

四、编码实现(全部源代码)


 前言

快到2023年了,提前预祝大家新年快乐,万事如意,今天呢网络豆在这里给大家理由Python做一个超简单的新年倒计时。如果对你有帮助记得点赞收藏加关注哦。


一.应用的技术

1.Tkinter

Tkinter 是 Python 的标准 GUI 库。 Python 使用 Tkinter 可以快速的创建 GUI 应用程序。 由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。


2.PHotoimage 函数

在Tkinter中,一些小部件可以显示图像,例如Label和Button。这些小部件采用允许它们显示图像的图像参数。但是,不能简单地将图像文件的路径传递给image参数。相反,需要创建一个Photolmage对象并将图像参数传递给它


3.label组件

Label用于在指定的窗口中显示文本和图像。最终呈现出的Label是由背景和前景叠加构成的内容。Label组件定义函数:Label(master=None, cnf={}, **kw) 其中,kw参数是用来自定义lable组件的键值对。


二.效果图


三、实现步骤 

1.引入tkinter标准库 取别名为 tk

import tkinter as tk     # 引入tkinter标准库 取别名为 tk
import sys
import time
import datetime
import math

 2.设置窗口

root = tk.Tk()                     # 设置tk 的主窗口
root.geometry("600x400")           # 主窗口 600x400 大小
root.title("salted fish")          # 设置主窗口标题内容 "salted fish"

3. 用 PHotoimage 函数设置一个图片对象

img = tk.PhotoImage(file = "1111.png")

背景图(自取)

注意:图片格式要为.png格式,将图片存放到 你Python文档的文件中


4.定义一个label组件,设置文本

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()

5.取得现在时间并且计算到新年时间

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)

6. 设置文本内容

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()

创作不易,求关注,点赞,收藏,谢谢~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/129934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pytorch 咖啡豆识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍦 参考文章地址: 365天深度学习训练营-第P6周:好莱坞明星识别🍖 作者:K同学啊一、前期准备 1.设置GPU import torch from torch import nn …

2022 年 pnpm 为什么这么火?

pnpm是 Node.js 的替代包管理器。它是 npm 的直接替代品,但速度更快、效率更高。 为什么更有效率?当你安装一个包时,我们将它保存在你电脑上的全局存储中,然后我们从它创建一个硬链接而不是复制。也就是说:对于模块的…

8.移动端学习-rem适配方案

1.适配方案 1、当设备尺寸发生变化时,页面宽高等比例变化 2、使用媒体查询根据不同设备按比例设置html字体大小,页面元素使用rem做单位,当html字体大小变化,元素尺寸也会发生变化,从而达到等比缩放的适配 2.rem实际开…

ubuntu18.04运行ORB_SLAM2

1、基础工具安装 安装cmake、git、gcc、g。 sudo apt-get install cmake git gcc g 2、安装Eigen库 在终端输入以下代码。 sudo apt-get install libeigen3-dev 3、安装Pangolin0.5 版本过高会导致错误,安装依赖项。 sudo apt-get install libglew-dev libpyth…

Hadoop之Hdfs

一、基本概述 1、定义 HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目 录树来定位文件;其次,它是分布式的。HDFS 的使用场景:适合一次写入&#xff0…

这是长新冠,还是我老了?浙江出国抢订单又抢CTO;脉脉发布人才迁徙报告;元宇宙产业生态图谱;GitHub今日热榜 | ShowMeAI资讯日报

👀日报合辑 | 🎡AI应用与工具大全 | 🔔公众号资料下载 | 🍩韩信子 🎡 这是长新冠,还是我老了? 感染后身体出现了疲劳、关节疼痛、咳嗽等新症状?你并不孤单!约翰霍普金斯…

数据结构进阶 二叉树OJ题一

作者:小萌新 专栏:数据结构进阶 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:介绍几道二叉树的oj题 二叉树OJ题题目一 根据二叉树创建字符串题目二 二叉树的层序遍历题目三 二叉树的最近公共祖先题目一 根据…

自动化信息治理:推动价值、安全性和合规性

现代组织充斥着数据,但信息的洪流可能变得势不可挡,危及利用其价值的能力。内容服务解决方案能够减轻洪水泛滥的风险,并帮助组织更好地控制信息。 从信息中获取价值的不同之处在于治理。建立正确的治理框架,组织可以最大限度地利…

难以挖掘的真相——塑料版薯条、意大利面、披萨……

下方图片中的“美食”,看起来是不是十分美味? ▲莱佛士平面设计学生作品 可千万要擦亮眼睛,它们其实是:黄色瓶盖“蛋黄”的荷包蛋,黄色吸管的“薯条”,桔黄色的塑料带子“意大利面”,红色塑料袋…

Exynos4412的Linux5.4.174时钟驱动开发(四)——clk API的调用方法

系列文章目录 Exynos4412的Linux时钟驱动开发(一)——Exynos4412的时钟管理单元CMU Exynos4412的Linux时钟驱动开发(二)——clock的初始化(CLK_OF_DECLARE的机制) Exynos4412的Linux时钟驱动开发&#x…

新蜂商城 -- 代码学习研读

新蜂商城 -- 代码学习研读1.Big Data -- Postgres1.1 Big Data -- Postgres2.Big Data -- Postgres3.AwakeningGit Website: https://github.com/newbee-ltd/newbee-mall. 新蜂商城线上预览地址: http://mall.newbee.ltd. 👉👉学习的朋友给个小星星.感…

蓝牙标签操作流程

电脑网页端后台系统 下载蓝牙标签APP注册账号,登录电脑网页端即可制作模板 蓝牙标签管理系统 安卓手机系统 1. 使用手机浏览器扫码下载 2. 拷贝链接到手机浏览器下载 http://a.picksmart.cn:8088/picksmart/app/new-app-release-v3.0.31.apk 苹果手机系统&#…

公众号运营要做什么?公众号运营规划方案分享

你真的理解什么是公众号运营吗? 公众号运营遵循的是创作-分发-增长-变现的路径,从内容创作到内容分发到用户增长,到最终的转化变现,这才是完整的一个运营闭环,在这条路径中,缺少了哪一环都将影响整体运营效…

学习笔记之范海鹰微表情识别

微表情识别1. 微表情由来1.1 基本情绪和次级情绪1.2 保罗埃克罗的贡献2. 微表情意义2.1 微表情产生原理2.2 微表情的形态意义2.3 微表情的读心内涵2.4 微表情的应用价值3.微表情面部表情3.1 基线反应3.2 惊讶3.3 厌恶、轻蔑3.4 愤怒3.5 恐惧3.6 悲伤3.7 愉悦作为网上冲浪12级选…

redis实现session管理以及缓存穿透与雪崩

小伙正在评博客之星,欢迎大家来互相助力 我的链接 redis实现session管理以及缓存穿透与雪崩一、Redis实现分布式Session管理1 管理机制2 开发Session管理1. 引入依赖2. 开发Session管理配置类3.打包测试即可二、缓存穿透与雪崩缓存穿透缓存击穿(量太大&a…

APSIM练习 2:残留物覆盖对休耕期间土壤储水的影响

跟踪覆盖度随着残留物分解而下降。 APSIM 模拟了作物残茬对休耕期间水分捕获和保留效率的影响。随着残留物分解,残留物覆盖率下降。在 APSIM 中模拟残留物分解以响应天气以及残留物的化学成分。通过进行此模拟,您将加强在先前练习中学到的技能&#xff0…

如何给藏品赋能?元宇宙电商NFG系统助力跨境电商新机遇

当前营销市场已陷入沉闷、难以创新的困境,大环境不容乐观,品牌方迫切需要新的创意与内容来吸引消费者。数字藏品是 Z世代和千禧一代在自我表达和社交方面的新兴媒介,在展示形式和互动方式上突破了传统营销方式的局限,帮助品牌在营…

github上传代码记录

文章目录新建仓库执行命令新建仓库 首先先创建一个仓库(在主页面中点击New即可创建) 填写仓库名称(剩下的可以不用点击选择) 创建完成之后,github上就会出现提交的提示代码。我们选择第一个进行代码的提交。 执行命…

数据结构中【迷宫问题】的两个OJ题

前言 今天是美好的一天,现在是体育课时间,我神奇的体育老师让我们男生需要做40个俯卧撑作为期末作业,可惜啊可惜,我差了一丝丝,这个东西对于我这种高瘦子还是有很大的挑战的,我现在能充分的感觉到码字的手…

Docker- 7.3、跨主机网络-flannel

flannel是CoreOS开发的容器网络解决方案。flannel为每个host分配一个subnet,容器从此subnet中分配IP,这些IP可以在host间路由,容器间无需NAT和port mapping就可以跨主机通信。每个subnet都是从一个更大的IP池中划分的,flannel会在…