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 相关文章推荐
TF-IDF与余弦相似性的应用(二) 找出相似文章
Dec 21 Python
Python的CGIHTTPServer交互实现详解
Feb 08 Python
Python使用matplotlib绘制三维图形示例
Aug 25 Python
Python数据集切分实例
Dec 08 Python
pandas DataFrame 删除重复的行的实现方法
Jan 29 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
在Django下测试与调试REST API的方法详解
Aug 29 Python
Tensorflow中的dropout的使用方法
Mar 13 Python
Python多线程:主线程等待所有子线程结束代码
Apr 25 Python
如何用Matplotlib 画三维图的示例代码
Jul 28 Python
使用PyCharm官方中文语言包汉化PyCharm
Nov 18 Python
python 如何在测试中使用 Mock
Mar 01 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
一个ftp类(ini.php)
2006/10/09 PHP
把PHP安装为Apache DSO
2006/10/09 PHP
PHP的FTP学习(四)
2006/10/09 PHP
php去掉文件前几行的方法
2015/07/29 PHP
Confirmer JQuery确认对话框组件
2010/06/09 Javascript
关于IE中getElementsByClassName不能用的问题解决方法
2013/08/26 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
Element-UI Table组件上添加列拖拽效果实现方法
2018/04/14 Javascript
js中的闭包实例展示
2018/11/01 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
[04:53]DOTA2英雄基础教程 祈求者
2014/01/03 DOTA
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
python的concat等多种用法详解
2018/11/28 Python
python绘制漏斗图步骤详解
2019/03/04 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
美术教学感言
2014/02/22 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
感恩教育月活动总结
2014/07/07 职场文书
2014年后勤工作总结
2014/11/18 职场文书
简历自我评价优缺点
2015/03/11 职场文书
投资合作意向书范本
2015/05/08 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书