本文实例为大家分享了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,计时器
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
内蒙古资源网 Copyright www.nmgbbs.com
暂无“PyQt5实现暗黑风格的计时器”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
