幽灵资源网 Design By www.bzswh.com
本文实例为大家分享了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,计时器
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。