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