PyQt5實現(xiàn)暗黑風格的計時器
更新時間:2019年07月29日 15:27:43 作者:沉迷單車的追風少年
這篇文章主要為大家詳細介紹了PyQt5實現(xiàn)暗黑風格的計時器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了PyQt5實現(xiàn)暗黑風格的計時器的具體代碼,供大家參考,具體內容如下
主要是學習多線程知識,使用的是QTime(),但是似乎用QThread()更多一些
(QThread()與QTimer()的優(yōu)勢不再贅述)
但是記下來總沒錯
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
# 循環(huán)完畢后發(fā)出信號
self.trigger.emit()
def countTime():
global sec
sec += 1
# LED顯示數(shù)字+1
lcdNumber.display(sec)
def work():
# 計時器計時
print("#30")
timer.start(1000) # 將start寫成statr居然不報錯,但是找bug卻找了半天
# 計時開始
workThread.start()
# 當獲得循環(huán)完畢的信號時,停止計時
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)
# 計時結束,觸發(fā)countime
timer.timeout.connect(countTime)
# 進行渲染
app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5())
top.show()
sys.exit(app.exec_())
運行之后如圖

影藏了邊框
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
在Python中關于使用os模塊遍歷目錄的實現(xiàn)方法
今天小編就為大家分享一篇在Python中關于使用os模塊遍歷目錄的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
Python如何快速生成本項目的requeirments.txt實現(xiàn)
本文主要介紹了Python如何快速生成本項目的requeirments.txt實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03

