PyQt5实现暗黑风格的计时器

作者:沉迷单车的追风少年 时间:2023-07-07 02:49:30 

本文实例为大家分享了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实现暗黑风格的计时器

影藏了边框

来源:https://blog.csdn.net/qq_41895747/article/details/87481188

标签:PyQt5,计时器
0
投稿

猜你喜欢

  • 如何做一个文本搜索?

    2010-07-12 19:00:00
  • mysql int范围与最大值分析

    2012-03-26 18:24:00
  • Design IT. (8),一匹“更快的马”

    2009-02-11 12:19:00
  • 使用jQuery简化Ajax开发

    2010-04-11 21:09:00
  • asp查询xml的代码实现无刷新 模糊查询

    2008-04-30 15:39:00
  • 垂直栅格与渐进式行距(下)

    2009-07-09 16:52:00
  • 用ASP实现就MP3曲目信息的操作全攻略

    2008-05-28 12:42:00
  • javascript设计模式交流(一)Singleton Pattern

    2007-11-29 13:20:00
  • 动网论坛验证码改进 加法验证码(ASPJpeg版)

    2011-04-10 10:44:00
  • 22个HTML5的初级技巧

    2010-12-17 12:39:00
  • 有关于IE8 Beta 1两个提醒

    2008-05-15 12:32:00
  • php基础字符串与数组知识点讲解

    2023-05-25 08:28:14
  • 关于从MySQL转向ADODB的方法

    2011-06-02 12:05:00
  • OL IE Bug

    2009-09-09 16:25:00
  • 如何做好一份前端工程师的简历?

    2009-02-17 12:52:00
  • asp如何对多个条件进行判断?

    2009-11-20 18:28:00
  • 功能强大,代码简单的管理菜单

    2008-07-11 16:52:00
  • 自动完成autoComplete

    2011-01-17 18:01:00
  • mysql 重启方法(初学者)

    2010-12-03 16:40:00
  • XML文件的显示——CSS和XSL

    2007-10-15 18:48:00
  • asp之家 网络编程 m.aspxhome.com