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_())
运行之后如图
影藏了边框
来源: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