PyQt5實現(xiàn)暗黑風(fēng)格的計時器
本文實例為大家分享了PyQt5實現(xiàn)暗黑風(fēng)格的計時器的具體代碼,供大家參考,具體內(nèi)容如下
主要是學(xué)習(xí)多線程知識,使用的是QTime(),但是似乎用QThread()更多一些
(QThread()與QTimer()的優(yōu)勢不再贅述)
但是記下來總沒錯
QSS渲染使用的是qdarkstyle,因為我一直覺得這個暗黑風(fēng)很帥
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() # 當(dāng)獲得循環(huán)完畢的信號時,停止計時 workThread.trigger.connect(timeStop) def timeStop(): print("#38") timer.stop() print("計時結(jié)束,共計用時:", 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) # 計時結(jié)束,觸發(fā)countime timer.timeout.connect(countTime) # 進(jìn)行渲染 app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) top.show() sys.exit(app.exec_())
運行之后如圖
影藏了邊框
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一文詳解NumPy簡單算術(shù)及其他運算的實現(xiàn)
你可以直接在 NumPy 數(shù)組之間使用算術(shù)運算符 + - * /,但本節(jié)討論了一個擴(kuò)展,其中我們有函數(shù)可以接受任何類似數(shù)組的對象,如列表、元組等,并根據(jù)條件執(zhí)行算術(shù)運算,文中通過代碼示例給大家講解的非常詳細(xì),需要的朋友可以參考下2024-06-06在Python中關(guān)于使用os模塊遍歷目錄的實現(xiàn)方法
今天小編就為大家分享一篇在Python中關(guān)于使用os模塊遍歷目錄的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01人工智能學(xué)習(xí)Pytorch教程Tensor基本操作示例詳解
這篇文章主要為大家介紹了人工智能學(xué)習(xí)Pytorch教程Tensor的基本操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11Python如何快速生成本項目的requeirments.txt實現(xiàn)
本文主要介紹了Python如何快速生成本項目的requeirments.txt實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Python使用pycharm導(dǎo)入pymysql教程
這篇文章主要介紹了Python使用pycharm導(dǎo)入pymysql教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09Python數(shù)據(jù)結(jié)構(gòu)之鏈表詳解
在順序存儲方式中,根據(jù)數(shù)據(jù)元素的序號就可隨機(jī)存取表中任何一個元素,但同時在插入和刪除運算需要移動大量的元素,造成算法效率較低。解決此缺陷的一個辦法是:對線性表采用鏈?zhǔn)酱鎯Ψ绞?。本文將介紹鏈?zhǔn)酱鎯Y(jié)構(gòu)的特點以及各種基本操作的實現(xiàn)。需要的可以參考一下2022-01-01