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轻松实现代码编码格式转换
Mar 26 Python
python版本的读写锁操作方法
Apr 25 Python
Python调用C++程序的方法详解
Jan 24 Python
python2与python3中关于对NaN类型数据的判断和转换方法
Oct 30 Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 Python
pytorch 使用加载训练好的模型做inference
Feb 20 Python
基于Django OneToOneField和ForeignKey的区别详解
Mar 30 Python
解决jupyter notebook 出现In[*]的问题
Apr 13 Python
5行Python代码实现图像分割的步骤详解
May 25 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
Jun 18 Python
详解pytorch tensor和ndarray转换相关总结
Sep 03 Python
python按照list中字典的某key去重的示例代码
Oct 13 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显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
PHP实现网站访问量计数器
2017/10/27 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
javascript的键盘控制事件说明
2008/04/15 Javascript
js setTimeout 参数传递使用介绍
2013/08/13 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
jQuery 限制输入字符串长度
2016/06/20 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
详解vue项目中如何引入全局sass/less变量、function、mixin
2018/06/02 Javascript
echarts整合多个类似option的方法实例
2018/07/10 Javascript
在Vue.js中使用TypeScript的方法
2020/03/19 Javascript
Python中列表(list)操作方法汇总
2014/08/18 Python
Python pickle类库介绍(对象序列化和反序列化)
2014/11/21 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
Python的Django框架中的数据过滤功能
2015/07/17 Python
Win10下Python环境搭建与配置教程
2016/11/18 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
Python 异步协程函数原理及实例详解
2019/11/13 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
使用Python Tkinter实现剪刀石头布小游戏功能
2020/10/23 Python
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
输入N,打印N*N矩阵
2012/02/20 面试题
高级护理专业大学生求职信
2013/10/24 职场文书
工厂门卫岗位职责
2013/11/25 职场文书
大学生期末自我鉴定
2014/02/01 职场文书
六年级数学教学反思
2014/02/03 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
2015年行风建设工作总结
2015/05/15 职场文书
培训感想范文
2015/08/07 职场文书
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android