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)文章
一文詳解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-11
Python如何快速生成本項(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-03
Python使用pycharm導(dǎo)入pymysql教程
這篇文章主要介紹了Python使用pycharm導(dǎo)入pymysql教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09
Python數(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

