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)行之后如圖

影藏了邊框
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Python3之?dāng)?shù)據(jù)指紋MD5校驗(yàn)與對(duì)比
這篇文章主要介紹了Python3之?dāng)?shù)據(jù)指紋MD5校驗(yàn)與對(duì)比,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
Python多項(xiàng)式回歸的實(shí)現(xiàn)方法
這篇文章主要介紹了Python多項(xiàng)式回歸的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03
python3+django2開發(fā)一個(gè)簡(jiǎn)單的人員管理系統(tǒng)過程詳解
這篇文章主要介紹了python3+django2開發(fā)一個(gè)簡(jiǎn)單的人員管理系統(tǒng)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
http通過StreamingHttpResponse完成連續(xù)的數(shù)據(jù)傳輸長(zhǎng)鏈接方式
這篇文章主要介紹了http通過StreamingHttpResponse完成連續(xù)的數(shù)據(jù)傳輸長(zhǎng)鏈接方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Python解決asyncio文件描述符最大數(shù)量限制的問題
這篇文章主要介紹了Python解決asyncio文件描述符最大數(shù)量限制的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06

