一.概述

本文我们将介绍如何使用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制作简单时钟小工具相关推荐

  1. PyQt5制作一个爬虫小工具,爬取雪球网上市公司的财务数据

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于可以叫我才哥 ,作者:可以叫我才哥 最近有朋友需要帮忙写个爬虫脚本,爬取雪球网一些上 ...

  2. PyQt5制作一个爬虫小工具,获取某网上市公司的财务数据可视化

    最近有朋友需要帮忙写个爬虫脚本,爬取雪球网一些上市公司的财务数据.盆友希望可以根据他自己的选择进行自由的抓取,所以简单给一份脚本交给盆友,盆友还需要自己搭建python环境,更需要去熟悉一些参数修改的 ...

  3. python使用pyqt5制作exe电脑小工具

    call_cxtool.py 用来调用界面的开始界面 # -*- coding: utf-8 -*-# Form implementation generated from reading ui fi ...

  4. 利用YQL制作自己的小工具

    YQL服务可以实现对网上不同数据源的query,filter,combine(查询,过滤,合并). YQL说明类似SQL.下面的例子就是用YQL说明实现从Flickr上得到一系列text为cat的图片 ...

  5. 用python画画简单代码_Python3使用PyQt5制作简单的画板/手写板实例

    1.前言 版本:Python3.6.1 + PyQt5 写一个程序的时候需要用到画板/手写板,只需要最简单的那种.原以为网上到处都是,结果找了好几天,都没有找到想要的结果. 网上的要么是非python ...

  6. python怎么建立画板_Python3使用PyQt5制作简单的画板/手写板实例

    1.前言 版本:Python3.6.1 + PyQt5 写一个程序的时候需要用到画板/手写板,只需要最简单的那种.原以为网上到处都是,结果找了好几天,都没有找到想要的结果. 网上的要么是非python ...

  7. python入门学习小工具制作系列各种小工具整理

    一.制作基于windows系统批量重命名文件小工具 参考博客: 使用python做一个批量重命名文件的小工具_讷言丶的博客-CSDN博客 效果展示: 临时01 代码实现: import os from ...

  8. 实用c语言函数源码,C语言编写简单朗读小工具(有源码)

    原标题:C语言编写简单朗读小工具(有源码) 最近不少人在后台留言说学C都是面对枯燥的控制台程序,能不能体现一下C语言的实际用途,今天我们就理论结合实践一把:C语言结合VBS脚本编写一个简单的朗读小工具 ...

  9. python英语翻译-python制作英语翻译小工具

    用python爬虫可以制作英语翻译小工具.来看下代码吧- import requests,json #函数封装 def translator(): session=requests.session() ...

最新文章

  1. Python垂直翻转图像(Vertically Flip Image)
  2. Protocol Buffers 在 iOS 中的使用
  3. js生日计算年龄_JS根据生日算年龄的方法
  4. 【Lucene4.8教程之四】分析
  5. 用IDEA把SpringBoot项目打成jar发布项目 不要用 在上面有可以用的
  6. c语言中组合函数,排列组合c怎么算 公式是什么
  7. spss23出现数据消失_改善23亿人口健康数据的可视化
  8. CPU漏洞可导致RSA被攻击
  9. Python实战从入门到精通第二十讲——调用父类方法
  10. nice值 linux进程,Linux进程优先级和nice值
  11. axios的this指向_vue使用axios时this指向哪里
  12. CMMI认证需要什么条件?
  13. HTC Z710t解锁 获取root权限
  14. 白话windows之四 异常处理机制(VEH、SEH、TopLevelEH...)
  15. 三七皂苷-壳聚糖(PNS-CSB)水凝胶/聚乙烯吡咯烷酮/pH敏感性羧甲基/壳聚糖水凝胶的制备
  16. 第二天:Kafka API操作
  17. 软件测试中单元测试,集成测试,系统测试,验收测试的区别
  18. 平凡的世界,因你而美
  19. oracle12c命令行安装grid,oracle12c-RAC安装部署之GRID安装-grid设置
  20. php 国密,PHP关于国密SM3加密的处理

热门文章

  1. 微信小程序 各类效果(视频)
  2. 大数据的各种免费软件
  3. Day 36: 关系型数据库和MySQL概述
  4. 献给那些浮躁的年轻人
  5. 利用git从gitblit上拉取项目到本地
  6. 分享Xcode使用技巧(兼容iOS10、iPhone刷机固件、Xcode各版本、内存泄漏检测)
  7. MAC完全卸载node
  8. 一级域名与二级域名的区别
  9. 【懒人必备】智能窗帘机器人,告别手动拉窗帘——软件功能实现篇
  10. 第5模块闯关CSS练习题