基于Python实现新年倒计时
作者:Sir 发布时间:2022-02-14 08:41:59
标签:Python,倒计时
不知不觉已经在家两个月了,眼看马上春节就要来临了。满怀期待的写了一个新年倒计时的小工具!
设置新年时间后都能够使用,打开软件后可以自动计算到新年的倒计时情况。
UI界面及布局这块一直使用的是PyQt5来实现的,若是没有安装使用pip的方式安装一下即可。
pip install PyQt5
紧接着将PyQt5以及相关的模块都导入到我们的代码块中准备开发。
# Importing all the classes from the QtWidgets module.
from PyQt5.QtWidgets import *
# Importing all the classes from the QtGui module.
from PyQt5.QtGui import *
# Importing the sys module.
import sys
# It imports all the classes from the QtCore module.
from PyQt5.QtCore import *
# Importing the datetime module.
import datetime
# Importing the math module.
import math
业务逻辑不是很复杂,我们这次不通过子线程来实现业务逻辑,直接在主线程中开发界面布局和组件以及实现倒计时的过程。
class CountDown(QWidget):
def __init__(self):
"""
A constructor. It is called when an object is created from a class and it allows the class to initialize the
attributes of a class.
"""
super(CountDown, self).__init__()
self.spring_date = datetime.datetime(2023, 1, 21, 0, 0, 0)
self.init_code()
def init_code(self):
"""
业务初始化代码块
"""
self.setWindowTitle('新年倒计时 公众号:Python 集中营')
self.setWindowIcon(QIcon('倒计时.png'))
self.resize(600, 400)
palette = QPalette()
palette.setBrush(QPalette.Background, QBrush(QPixmap("./背景.jpeg")))
self.setPalette(palette)
self.timer = QTimer()
self.timer.setInterval(1000)
self.timer.timeout.connect(self.refresh_count_down)
self.timer.start()
self.time_label = QLabel()
self.time_label.setAlignment(Qt.AlignCenter)
self.time_label.setStyleSheet('color:red;font:bold 28px;font-family:黑体')
vbox = QVBoxLayout()
vbox.addWidget(self.time_label)
self.setLayout(vbox)
def refresh_count_down(self):
"""
刷新页面倒计时时间
"""
current_date = datetime.datetime.now()
differ_day = (self.spring_date - current_date).days
seconds = (self.spring_date - current_date).seconds
differ_second = seconds % 60
differ_minute = seconds / 60 % 60
differ_hour = seconds / 60 / 60
if differ_hour > 24:
differ_hour = differ_hour - 24
differ_hour = math.floor(differ_hour)
differ_minute = math.floor(differ_minute)
self.time_label.setText(
"距离春节:" + str(differ_day) + "天" + str(differ_hour) + "小时" + str(differ_minute) + "分钟" + str(
differ_second) + "秒" + '\r')
使用python模块主函数直接启动春节倒计时桌面应用,就大功告成啦!
# A special variable in Python that evaluates to `True` if the module is being run as the main program.
if __name__ == '__main__':
app = QApplication(sys.argv)
main = CountDown()
main.show()
sys.exit(app.exec_())
来源:https://mp.weixin.qq.com/s/rYAdeqsv6Dae--hx_aoRqA


猜你喜欢
- 本文实例讲述了Python3.5装饰器。分享给大家供大家参考,具体如下:#!/usr/bin/env python# -*- coding:
- <%'============================================================
- 一、三种数据文件的读取二、csv、tsv、txt 文件读取1)CSV文件读取:语法格式:pandas.read_csv(文件路径)CSV文件
- 最近用php进行文件目录信息读取,在网上弄到下面一段代码://获取指定目录下的文件列表//$path 指定的目录,默认为当前目录//$ifc
- 本文实例讲述了Python编程实现的简单神经网络算法。分享给大家供大家参考,具体如下:python实现二层神经网络包括输入层和输出层# -*
- 数据库操作类的优点优点可以说是非常多了,常见的优点就是便于维护、复用、高效、安全、易扩展。例如PDO支持的数据库类型是非常多的,与mysql
- pyecharts 是一个用于生成 Echarts 图表的类库。 Echarts 是百度开源的一个数据可视化 JS 库。主要用于数据可视化。
- pycharm部署anaconda环境Pycharm: python编辑器,社区版本Anaconda:开源的python发行版本(专注于数据
- vue配置element-ui遇到的坑注意:本文章参照element-ui官方文档,快速上手部分,的部分教程步骤1.npm安装npm i e
- 闭包函数是什么?在开始学习的闭包的时候,大家很能都比较难理解.就从他的官方解释来说,都是比较概念化的.不过我们也还是从闭包的含义出发。闭包是
- 1)doctest 使用doctest是一种类似于命令行尝试的方式,用法很简单,如下 def f(n): ""
- 由于研究关系需要自己手动给卷积层初始化权值,但是好像博客上提到的相关文章比较少(大部分都只提到使用nn.init里的按照一定分布初始化方法)
- 前言猪年除夕之夜在亲人群抢红包心血来潮,想用python做比较好玩的新年祝福给亲人们乐呵乐呵。奈何初学Python,底子比较薄,通过查阅相关
- map( )函数在算法题目里面经常出现,map( )会根据提供的函数对指定序列做映射,在写返回值等需要转换的时候比较常用。关于映射map,可
- 本文实例讲述了Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能。分享给大家供大家参考,具体如下:由于目前工作
- 之前看到过很多头条,说哪国某人坚持了多少年自学使用excel画画,效果十分惊艳。 对于他们的耐心我十分敬佩。 但是作为一个程序员,自然也得挑
- 1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Se
- 一、requests库1、requests简介requests库就是一个发起请求的第三方库,requests允许你发送HTTP/1.1 请求
- CSV means Comma Separated Values. It is plain text (ansi).The CSV (&qu
- 一、模块TypeScript 与ECMAScript 2015 一样,任何包含顶级 import 或