PyQt5实现暗黑风格的计时器


Posted in Python onJuly 29, 2019

本文实例为大家分享了PyQt5实现暗黑风格的计时器的具体代码,供大家参考,具体内容如下

主要是学习多线程知识,使用的是QTime(),但是似乎用QThread()更多一些

QThread()与QTimer()的优势不再赘述

但是记下来总没错

QSS渲染使用的是qdarkstyle,因为我一直觉得这个暗黑风很帅

qdarkstyle在GitHub上一千多颗星,还是很受欢迎的

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5 import QtCore
import qdarkstyle
 
global sec
sec = 0
 
 
class WorkThread(QThread):
 trigger = pyqtSignal()
 
 def __int__(self):
  super(WorkThread, self).__init__()
 
 def run(self):
  for i in range(2000000000):
   pass
 
  # 循环完毕后发出信号
  self.trigger.emit()
 
def countTime():
 global sec
 sec += 1
 # LED显示数字+1
 lcdNumber.display(sec)
 
 
def work():
 # 计时器计时
 print("#30")
 timer.start(1000) # 将start写成statr居然不报错,但是找bug却找了半天
 # 计时开始
 workThread.start()
 # 当获得循环完毕的信号时,停止计时
 workThread.trigger.connect(timeStop)
 
 
def timeStop():
 print("#38")
 timer.stop()
 print("计时结束,共计用时:", lcdNumber.value())
 global sec
 sec = 0
 
 
if __name__ == "__main__":
 app = QApplication(sys.argv)
 top = QWidget()
 top.resize(300, 200)
 # 影藏边框
 top.setWindowFlags(QtCore.Qt.FramelessWindowHint)
 layout = QVBoxLayout(top)
 lcdNumber = QLCDNumber()
 layout.addWidget(lcdNumber)
 button = QPushButton("开始")
 layout.addWidget(button)
 
 timer = QTimer()
 workThread = WorkThread()
 button.clicked.connect(work)
 # 计时结束,触发countime
 timer.timeout.connect(countTime)
 # 进行渲染
 app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5())
 top.show()
 sys.exit(app.exec_())

运行之后如图

PyQt5实现暗黑风格的计时器

影藏了边框

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python logging类库使用例子
Nov 22 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
Dec 28 Python
Python的UTC时间转换讲解
Feb 26 Python
Python 分享10个PyCharm技巧
Jul 13 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
Feb 29 Python
Python爬虫爬取、解析数据操作示例
Mar 27 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
Apr 01 Python
python能自学吗
Jun 18 Python
python判断是空的实例分享
Jul 06 Python
如何在vscode中安装python库的方法步骤
Jan 06 Python
Python 制作自动化翻译工具
Apr 25 Python
教你使用TensorFlow2识别验证码
Jun 11 Python
Python Django 实现简单注册功能过程详解
Jul 29 #Python
Django models.py应用实现过程详解
Jul 29 #Python
pycharm中显示CSS提示的知识点总结
Jul 29 #Python
pandas 如何分割字符的实现方法
Jul 29 #Python
python自定义时钟类、定时任务类
Feb 22 #Python
python Pandas如何对数据集随机抽样
Jul 29 #Python
python Django 创建应用过程图示详解
Jul 29 #Python
You might like
PHP在Web开发领域的优势
2006/10/09 PHP
用PHP制作静态网站的模板框架(四)
2006/10/09 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
JavaScript 字符串乘法
2009/08/20 Javascript
JS构建页面的DOM节点结构的实现代码
2011/12/09 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
IE浏览器IFrame对象内存不释放问题解决方法
2014/08/22 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
JS 对java返回的json格式的数据处理方法
2016/12/05 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
jquery replace方法去空格
2017/05/08 jQuery
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
实例讲解Python脚本成为Windows中运行的exe文件
2019/01/24 Python
python绘制地震散点图
2019/06/18 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
css3中检验表单的required,focus,valid和invalid样式
2014/02/21 HTML / CSS
美国女性服饰销售网站:Nasty Gal(坏女孩)
2016/07/26 全球购物
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
如何理解委托
2012/01/06 面试题
如何查看在weblogic中已经发布的EJB
2012/06/01 面试题
简历自我评价怎么写好呢?
2014/01/04 职场文书
大学军训感言300字
2014/03/09 职场文书
文化活动实施方案
2014/03/28 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书
2016高考感言
2015/08/01 职场文书
勤俭节约主题班会
2015/08/13 职场文书
2016秋季幼儿园开学寄语
2015/12/03 职场文书