使用 PyQt5 创建一个数字时钟

使用 PyQt5 创建一个数字时钟

  • 效果
  • 代码解析
    • 定义时钟类
    • 初始化界面
    • 显示时间
  • 完整代码

在这篇博客中,我们将使用 PyQt5 创建一个简单的数字时钟。

效果

在这里插入图片描述

代码解析

定义时钟类

class ClockWindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle('Digital Clock')self.setGeometry(100, 100, 400, 200)self.initUI()

初始化界面

def initUI(self):layout = QVBoxLayout()self.label = QLabel(self)self.label.setAlignment(Qt.AlignCenter)self.label.setStyleSheet("font-size: 48px;")layout.addWidget(self.label)container = QWidget()container.setLayout(layout)self.setCentralWidget(container)timer = QTimer(self)timer.timeout.connect(self.showTime)timer.start(1000)self.showTime()
  • 创建一个 QVBoxLayout 布局。
  • 创建一个 QLabel 控件用于显示时间。
  • 设置标签居中对齐。 使用 setStyleSheet 方法设置标签字体大小为 48 像素。
  • 将标签添加到布局中。
  • 创建一个容器 QWidget,将布局设置为该容器的布局,并将容器设置为主窗口的中央控件。
  • 创建一个 QTimer,每秒触发一次 timeout 事件,连接到 showTime 方法。 调用 showTime 方法显示当前时间。

显示时间

def showTime(self):current_time = QTime.currentTime().toString('hh:mm:ss')self.label.setText(current_time)

完整代码

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QVBoxLayout, QWidget
from PyQt5.QtCore import QTimer, QTime, Qtclass ClockWindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle('Digital Clock')self.setGeometry(100, 100, 400, 200)self.initUI()def initUI(self):layout = QVBoxLayout()self.label = QLabel(self)self.label.setAlignment(Qt.AlignCenter)self.label.setStyleSheet("font-size: 48px;")layout.addWidget(self.label)container = QWidget()container.setLayout(layout)self.setCentralWidget(container)timer = QTimer(self)timer.timeout.connect(self.showTime)timer.start(1000)self.showTime()def showTime(self):current_time = QTime.currentTime().toString('hh:mm:ss')self.label.setText(current_time)if __name__ == "__main__":app = QApplication(sys.argv)window = ClockWindow()window.show()sys.exit(app.exec_())

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

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

相关文章

对数函数转换公式

对数函数换底公式. 1. 2. 3. 以上公式可以由以下公式推导而来, 1. 2. 3. 4.

zabbix监控进阶:如何分时段设置不同告警阈值(多阈值告警)

作者 乐维社区(forum.lwops.cn)乐乐 在生产环境中,企业的业务系统状态并不是一成不变的。在业务高峰时段,如节假日、促销活动或特定时间段,系统负载和用户访问量会大幅增加,此时可能需要设置更高的告警阈值…

Spark学习3.0

目录 10.3.4 Spark运行原理 1.设计背景 2.RDD概念 3.RDD特性 4.RDD之间的依赖关系 窄依赖和宽依赖 5.Stage的划分 Stage的类型包括两种:ShuffleMapStage和ResultStage 6.RDD运行过程 10.3.4 Spark运行原理 1.设计背景 许多 迭代式算法(比如机器学习、图…

mybatis#号和$区别

在MyBatis中,#{}和${}都是用于实现动态SQL的占位符,但它们在使用场景和安全性上有明显的区别: 用途区别: #{}主要用于传递接口传输过来的具体数据,如参数值,它可以防止SQL注入,因为MyBatis会…

实验5 图像分割

1. 实验目的 ①掌握图像分割的含义与目的; ②掌握迭代法、最大类间方差法、直方图法等阈值分割方法; ③掌握霍夫变换、区域生长法、区域分裂与合并法的原理,并能编程实现。 2. 实验内容 ①调用Matlab / PythonOpenCV中的相关函数&#xff…

nginx优势以及应用场景,编译安装和nginx

一. Nginx是什么? 1. Nginx概述 高性能、轻量级Web服务软件系统资源消耗低对HTTP并发连接的处理能力高单台物理服务器可支持30,000~50,000个并发请求Nginx(发音同 “engine x”)是一个高性能的反向代理和Web服务器软件&#xff0c…

Redis--18--Redis Desktop Manage下载与安装

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Redis Desktop Manage1.官网下载https://redis.io/insight/ 2.安装方法3.使用方法3.1.进入RedisDesktopManager的主界面3.2 新建连接3.3 支持操作 Redis Desktop Ma…

J021_QQ号格式校验

一、需求描述 校验QQ号码是否正确。要求全部是数字,数字长度(6-20位之间),不能以0开头。 二、代码实现 package com.itheima.sort;public class Test {public static void main(String[] args) {System.out.println("----…

汽车尾灯(转向灯)电路设计

即当汽车进行转弯时,司机打开转向灯,尾灯会根据转向依次被点亮,经过一定的间隔后,再全部被消灭。不停地重复,直到司机关闭转向灯。 该效果可由以下电路实现: 完整电路图: 02—电路设计要点 延时电路的要点主要有两个: 一、当转向开关被按下时,LED需要逐个亮起; 二、LED被逐…

uniapp 使用cavans 生成海报

uniapp 使用cavans 生成海报 npm install qs-canvas1.创建 useCanvas.js /*** Shopro qs-canvas 绘制海报* version 1.0.0* author lidongtony* param {Object} options - 海报参数* param {Object} vm - 自定义组件实例*/ import QSCanvas from qs-canvas; import { getPos…

NVIDIA Visual Profiler启动失败报错

在银河麒麟V10安装完NVIDIA后,想着试着运行一下NVIDIA Visual Profiler,发现报错,如下图。 照着提示翻阅日志文件。看见其中写着 !ENTRY com.nvidia.viper.birt 2 0 2024-06-30 08:39:39.806 !MESSAGE Could not resolve module: com.nvidi…

【自然语言处理】预训练语言模型实现与应用

预训练语言模型实现与应用 1 任务目标 1.1 案例简介 ​ 2018年,Google提出了预训练语言模型BERT,该模型在各种NLP任务上都取得了很好的效果。与此同时,它的使用十分方便,可以快速地对于各种NLP任务进行适配。因此,B…

基于HarmonyOS NEXT开发智能提醒助手

目录 目录 目录 前言 关于HarmonyOS NEXT 智能提醒助手需求分析 智能提醒助手设计 1、系统架构 2、功能模块 智能提醒助手的应用场景 智能提醒助手的竞争力 具体技术实现 未来展望 结束语 前言 随着智能设备的普及和物联网技术的飞速发展,人们对于智能…

基于大津阈值法和二值化与联通区域标记进行图像目标计数

1 建模 A.读取图像: 1.使用imread函数读取图像文件。 2.如果图像是彩色的,通常需要先转换为灰度图像,因为大津阈值法通常应用于灰度图像。 B.灰度化: 1.如果图像是彩色的,使用rgb2gray函数将其转换为灰度…

《昇思25天学习打卡营第16天 | 昇思MindSpore基于MobileNetv2的垃圾分类》

16天 本节学习了垃圾分类代码开发的方法。通过读取本地图像数据作为输入,对图像中的垃圾物体进行检测,并且将检测结果图片保存到文件中。 MobileNet网络是由Google团队于2017年提出的专注于移动端、嵌入式或IoT设备的轻量级CNN网络,相比于传…

Excel显示/隐藏批注按钮为什么是灰色?

在excel中,经常使用批注来加强数据信息的提示,有时候会把很多的批注显示出来,但是再想将它们隐藏起来,全选工作表后,“显示/隐藏批注”按钮是灰色的,不可用。 二、可操作方法 批注在excel、WPS表格中都是按…

【考研408计算机组成原理】微程序设计重要考点指令流水线考研真题+考点分析

苏泽 “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家 目录 微指令的形成方式 微指令的地址形成方式 对应考题 题目:微指令的地址形成方式 - 断定方式 解题思路: 答题: 分析考点&…

计算机体系结构和指令系统

1.计算机体系结构 - 五大部件 - 冯 诺依曼 计算机的特点 1.计算机有五大部件组成 2.指令和数据以同等地位存储于存储器,可按照地址访问 3.指令和数据用二进制表示 4.指令由操作码和地址码组成 5。存储程序 6.以计算器为中心(输入、输出设备与存储器…

2024年【湖北省安全员-C证】新版试题及湖北省安全员-C证试题及解析

题库来源:安全生产模拟考试一点通公众号小程序 湖北省安全员-C证新版试题参考答案及湖北省安全员-C证考试试题解析是安全生产模拟考试一点通题库老师及湖北省安全员-C证操作证已考过的学员汇总,相对有效帮助湖北省安全员-C证试题及解析学员顺利通过考试…

WIN10系统自带录屏软件怎么用?

WIN10系统自带录屏软件怎么用? WIN10系统录屏软件怎么用? 第一步:WING 快捷打开系统自带录屏软件,如下: 第二步:点击录屏软件区域“开始录制”按钮进入屏幕录制状态,如下: 第三步…