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文件和目录操作详解
Feb 08 Python
python轻松实现代码编码格式转换
Mar 26 Python
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 Python
python实现学生信息管理系统
Apr 05 Python
Python3使用正则表达式爬取内涵段子示例
Apr 22 Python
Jupyter中直接显示Matplotlib的图形方法
May 24 Python
Python实现查找最小的k个数示例【两种解法】
Jan 08 Python
Python使用configparser库读取配置文件
Feb 22 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
Mar 09 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
Mar 19 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
Oct 18 Python
Python基于爬虫实现全网搜索并下载音乐
Feb 14 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
在线增减.htpasswd内的用户
2006/10/09 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
php利用header函数下载各种文件
2016/08/24 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
js简单的弹出框有关闭按钮
2014/05/05 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
纯js实现隔行变色效果
2017/11/29 Javascript
基于 Immutable.js 实现撤销重做功能的实例代码
2018/03/01 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
学习LayUI时自研的表单参数校验框架案例分析
2019/07/29 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
python利用装饰器进行运算的实例分析
2015/08/04 Python
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
在python3环境下的Django中使用MySQL数据库的实例
2017/08/29 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
python实现决策树分类(2)
2018/08/30 Python
python利用selenium进行浏览器爬虫
2019/04/25 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
python使用ctypes调用扩展模块的实例方法
2020/01/28 Python
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
项目合作协议书
2014/09/23 职场文书
离婚财产分配协议书
2014/10/21 职场文书
2014年教学工作总结
2014/11/13 职场文书
消防演习通知
2015/04/25 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
Python中22个万用公式的小结
2021/07/21 Python
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android
Flink 侧流输出源码示例解析
2022/09/23 Servers