使用pyqt5制作简单时钟小工具
一.概述
本文我们将介绍如何使用python+pyqt5在制作桌面时钟小工具
二.引言
此篇文章是我在学习pyqt5中多线程相关的Qtimer时,随手制作的小工具,最终打包成exe可执行文件在桌面随时显示时间
三.环境安装
在我的上篇文章https://blog.csdn.net/iplayinggame/article/details/123402975中有讲过环境安装,此篇文章就不再讲环境安装
四.使用代码写pyqt5程序实时显示当前系统时间
1.主要程序
import sys
from PyQt5.QtWidgets import QWidget, QDesktopWidget, QApplication, QLabel, QGridLayout, QFrame
from PyQt5.QtGui import QCursor, QFont
from PyQt5.QtCore import Qt, QTimer, QDateTime, QEventclass Example(QWidget):__dragWin = Falsedef __init__(self):super().__init__()self.init_ui()def init_ui(self):self.setWindowFlags(Qt.WindowStaysOnTopHint)# pyqt5设置窗体透明控件不透明self.setAttribute(Qt.WA_TranslucentBackground)self.setWindowFlags(Qt.FramelessWindowHint | Qt.Tool)# 设置时间线程和开始时间线程self.timer = QTimer()self.timer.timeout.connect(self.showTime)self.startTimer()layout = QGridLayout()# 设置文本框显示时间self.label = QLabel()self.showTime()# 设置边框self.label.setFrameShape(QFrame.Box)self.label.setFrameShadow(QFrame.Raised)self.label.setStyleSheet('font-size:80px; ''color:#fff;''border-width: 20px;''border-style: solid;''border-color: #222;''background-color: #111;')self.label.setFont(QFont("Microsoft YaHei"))# 让显示的时间在文本框内居中self.label.setAlignment(Qt.AlignCenter)layout.addWidget(self.label, 0, 0, 1, 2)self.setGeometry(300, 300, 400, 200)self.center()self.setLayout(layout)def showTime(self):# 在文本框显示时间time = QDateTime.currentDateTime()timeDisplay = time.toString("hh:mm:ss")self.label.setText(timeDisplay)def startTimer(self):# 开启定时器每1000ms进行一次调用shouTimeself.timer.start(1000)def center(self):qr = self.frameGeometry()cp = QDesktopWidget().availableGeometry().center()qr.moveCenter(cp)self.move(qr.topLeft())def mousePressEvent(self, e):self.__dragWin = Trueself.__dragWin_x = e.x()self.__dragWin_y = e.y()self.setCursor(QCursor(Qt.OpenHandCursor)) # 更改鼠标图标def mouseMoveEvent(self, e):if self.__dragWin == True:pos = e.globalPos()self.move(pos.x() - self.__dragWin_x, pos.y() - self.__dragWin_y)def mouseReleaseEvent(self, e):self.__dragWin = Falseself.setCursor(QCursor(Qt.ArrowCursor))def mouseDoubleClickEvent(self, e):'''双击关闭程序:param e::return:'''QApplication.instance().exit()def run():app = QApplication(sys.argv)ex = Example()ex.show()sys.exit(app.exec_())run()
2.使用pyinstaller将py文件转换为可执行文件
使用pyinstaller -Fw xxx.py即可转换为可执行文件
3.展示成果
4.下载源码和Windows可执行exe地址
1.CSDN下载:https://download.csdn.net/download/iplayinggame/84820693
2.百度云网盘下载:链接:https://pan.baidu.com/s/1yrgmvwBH_ldnrcah-7BRjw?pwd=tg6q
提取码:tg6q
五.总结
此篇文章只是用来学习pyqt5中Qtimer,因此很多代码和上篇文章代码是一样的,只是加上了Qtimer定时器,可以定时去完成一些时,如设置闹钟等
使用pyqt5制作简单时钟小工具相关推荐
- PyQt5制作一个爬虫小工具,爬取雪球网上市公司的财务数据
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于可以叫我才哥 ,作者:可以叫我才哥 最近有朋友需要帮忙写个爬虫脚本,爬取雪球网一些上 ...
- PyQt5制作一个爬虫小工具,获取某网上市公司的财务数据可视化
最近有朋友需要帮忙写个爬虫脚本,爬取雪球网一些上市公司的财务数据.盆友希望可以根据他自己的选择进行自由的抓取,所以简单给一份脚本交给盆友,盆友还需要自己搭建python环境,更需要去熟悉一些参数修改的 ...
- python使用pyqt5制作exe电脑小工具
call_cxtool.py 用来调用界面的开始界面 # -*- coding: utf-8 -*-# Form implementation generated from reading ui fi ...
- 利用YQL制作自己的小工具
YQL服务可以实现对网上不同数据源的query,filter,combine(查询,过滤,合并). YQL说明类似SQL.下面的例子就是用YQL说明实现从Flickr上得到一系列text为cat的图片 ...
- 用python画画简单代码_Python3使用PyQt5制作简单的画板/手写板实例
1.前言 版本:Python3.6.1 + PyQt5 写一个程序的时候需要用到画板/手写板,只需要最简单的那种.原以为网上到处都是,结果找了好几天,都没有找到想要的结果. 网上的要么是非python ...
- python怎么建立画板_Python3使用PyQt5制作简单的画板/手写板实例
1.前言 版本:Python3.6.1 + PyQt5 写一个程序的时候需要用到画板/手写板,只需要最简单的那种.原以为网上到处都是,结果找了好几天,都没有找到想要的结果. 网上的要么是非python ...
- python入门学习小工具制作系列各种小工具整理
一.制作基于windows系统批量重命名文件小工具 参考博客: 使用python做一个批量重命名文件的小工具_讷言丶的博客-CSDN博客 效果展示: 临时01 代码实现: import os from ...
- 实用c语言函数源码,C语言编写简单朗读小工具(有源码)
原标题:C语言编写简单朗读小工具(有源码) 最近不少人在后台留言说学C都是面对枯燥的控制台程序,能不能体现一下C语言的实际用途,今天我们就理论结合实践一把:C语言结合VBS脚本编写一个简单的朗读小工具 ...
- python英语翻译-python制作英语翻译小工具
用python爬虫可以制作英语翻译小工具.来看下代码吧- import requests,json #函数封装 def translator(): session=requests.session() ...
最新文章
- Python垂直翻转图像(Vertically Flip Image)
- Protocol Buffers 在 iOS 中的使用
- js生日计算年龄_JS根据生日算年龄的方法
- 【Lucene4.8教程之四】分析
- 用IDEA把SpringBoot项目打成jar发布项目 不要用 在上面有可以用的
- c语言中组合函数,排列组合c怎么算 公式是什么
- spss23出现数据消失_改善23亿人口健康数据的可视化
- CPU漏洞可导致RSA被攻击
- Python实战从入门到精通第二十讲——调用父类方法
- nice值 linux进程,Linux进程优先级和nice值
- axios的this指向_vue使用axios时this指向哪里
- CMMI认证需要什么条件?
- HTC Z710t解锁 获取root权限
- 白话windows之四 异常处理机制(VEH、SEH、TopLevelEH...)
- 三七皂苷-壳聚糖(PNS-CSB)水凝胶/聚乙烯吡咯烷酮/pH敏感性羧甲基/壳聚糖水凝胶的制备
- 第二天:Kafka API操作
- 软件测试中单元测试,集成测试,系统测试,验收测试的区别
- 平凡的世界,因你而美
- oracle12c命令行安装grid,oracle12c-RAC安装部署之GRID安装-grid设置
- php 国密,PHP关于国密SM3加密的处理