欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PyQt5中QTimer定時器的實例代碼

 更新時間:2021年06月01日 14:12:36   作者:Anony吧  
如果需要在程序中周期性地進(jìn)行某項操作,比如檢測某種設(shè)備的狀態(tài),就會用到定時器,本文主要介紹了PyQt5中QTimer定時器的實例代碼,感興趣的可以了解一下

如果要在應(yīng)用程序中周期性地進(jìn)行某項操作,比如周期性地檢測主機(jī)的CPU值,則需要用到QTimer定時器,QTimer類提供了重復(fù)的和單次的定時器。要使用定時器,需要先創(chuàng)建一個QTimer實例,將其timeout信號連接到相應(yīng)的槽,并調(diào)用start()。然后定時器會以恒定的間隔發(fā)出timeout信號,當(dāng)窗口控件收到timeout信號后,它就會停止這個定時器。

一、QTimer類中的常用方法

方法 描述
start(milliseconds) 啟動或重新啟動定時器,時間間隔為毫秒。如果定時器已經(jīng)運行,它將被停止并重新啟動。如果singleShot信號為真,定時器將僅被激活一次
Stop() 停止定時器

二、QTimer類中的常用信號

信號 描述
singleShot 在給定的時間間隔后調(diào)用一個槽函數(shù)時發(fā)射此信號
timeout 當(dāng)定時器超時時發(fā)射此信號

三、QTimer的使用

示例1:

import sys
from PyQt5 import QtCore
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

class Demo(QWidget):
    count = 0
    def __init__(self):
        super().__init__()
        self.setGeometry(100, 50, 500, 400)
        self.setWindowTitle('QTimer')

        self.list = QListWidget()
        self.label = QLabel('顯示當(dāng)前時間')
        self.start = QPushButton('開始')
        self.end = QPushButton('結(jié)束')
        layout = QGridLayout()

        #初始化定時器
        self.timer = QTimer(self)
        self.timer.timeout.connect(self.showTime)
        self.start.clicked.connect(self.startTimer)
        self.end.clicked.connect(self.endTimer)

        layout.addWidget(self.label,0,0,1,2)
        layout.addWidget(self.start,1,0)
        layout.addWidget(self.end,1,1)
        self.setLayout(layout)

    def showTime(self):
        #獲取系統(tǒng)現(xiàn)在的時間
        time = QDateTime.currentDateTime().toString('yyyy-MM-dd hh:mm:ss dddd')
        self.label.setText(time)

    def startTimer(self):
        #設(shè)置時間間隔并啟動定時器
        self.timer.start(1000)
        self.start.setEnabled(False)
        self.end.setEnabled(True)

    def endTimer(self):
        #關(guān)閉定時器
        self.timer.stop()
        self.start.setEnabled(True)
        self.end.setEnabled(False)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = Demo()
    form.show()
    sys.exit(app.exec_())

運行效果如下:

在這里插入圖片描述

示例2:

import sys
from PyQt5 import QtCore
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

if __name__ == "__main__":
    app = QApplication(sys.argv)
    label = QLabel('<font color=blue size=20><b>PyQt5,窗口5秒后消失</b></font>')
    #無邊框窗口
    label.setWindowFlags(Qt.SplashScreen|Qt.FramelessWindowHint)
    label.show()
    #設(shè)置5秒后自動退出
    QTimer.singleShot(5000,app.quit)
    sys.exit(app.exec_())

運行效果如下:

在這里插入圖片描述

PyQt5 QTimer計數(shù)到特定的秒數(shù)

我正在使用python創(chuàng)建程序,并且正在使用pyqt。我目前正在使用QTimer,我想每秒鐘打印一次“ timer works”,并在5秒鐘后停止打印。這是我的代碼:

timers = []
def thread_func():
    print("Thread works")
    timer = QtCore.QTimer()
    timer.timeout.connect(timer_func)
    timer.start(1000)
    print(timer.remainingTime())
    print(timer.isActive())
    timers.append(timer)

def timer_func():
    print("Timer works")

解決方案

以下是一個簡單的演示,顯示了如何創(chuàng)建在固定數(shù)量的超時后停止計時的計時器。

from PyQt5 import QtCore

def start_timer(slot, count=1, interval=1000):
    counter = 0
    def handler():
        nonlocal counter
        counter += 1
        slot(counter)
        if counter >= count:
            timer.stop()
            timer.deleteLater()
    timer = QtCore.QTimer()
    timer.timeout.connect(handler)
    timer.start(interval)

def timer_func(count):
    print('Timer:', count)
    if count >= 5:
        QtCore.QCoreApplication.quit()

app = QtCore.QCoreApplication([])
start_timer(timer_func, 5)
app.exec_()

到此這篇關(guān)于PyQt5中QTimer定時器的實例代碼的文章就介紹到這了,更多相關(guān)PyQt5 QTimer定時器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pycharm打開長代碼文件CPU占用率過高的解決

    pycharm打開長代碼文件CPU占用率過高的解決

    這篇文章主要介紹了pycharm打開長代碼文件CPU占用率過高的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python實現(xiàn)CTC以及案例講解

    python實現(xiàn)CTC以及案例講解

    這篇文章主要介紹了python實現(xiàn)CTC以及案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 詳解Python+Selenium+ChromeDriver的配置和問題解決

    詳解Python+Selenium+ChromeDriver的配置和問題解決

    這篇文章主要介紹了Python+Selenium+ChromeDriver的配置和問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python?selenium?find_element()示例詳解

    Python?selenium?find_element()示例詳解

    selenium定位元素的函數(shù)/方法可以分為兩類:find_element及find_elements,下面這篇文章主要給大家介紹了關(guān)于Python?selenium?find_element()的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Python 使用 PyQt5 開發(fā)的關(guān)機(jī)小工具分享

    Python 使用 PyQt5 開發(fā)的關(guān)機(jī)小工具分享

    這篇文章主要介紹了Python 使用 PyQt5 開發(fā)的關(guān)機(jī)小工具分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python使用googletrans報錯的解決方法

    Python使用googletrans報錯的解決方法

    這篇文章主要給大家介紹了關(guān)于Python使用googletrans報錯的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • 用Python制作燈光秀短視頻的思路詳解

    用Python制作燈光秀短視頻的思路詳解

    這篇文章主要介紹了用Python制作燈光秀短視頻的思路詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-04-04
  • flask中的wtforms使用方法

    flask中的wtforms使用方法

    這篇文章主要介紹了flask中的wtforms使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Python中的相關(guān)分析correlation analysis的實現(xiàn)

    Python中的相關(guān)分析correlation analysis的實現(xiàn)

    這篇文章主要介紹了Python中的相關(guān)分析correlation analysis的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • pymysql的安裝以及操作實戰(zhàn)指南

    pymysql的安裝以及操作實戰(zhàn)指南

    這篇文章主要給大家介紹了關(guān)于pymysql的安裝以及操作的相關(guān)資料,pymsql是Python中操作MySQL的模塊,其使用方法和MySQLdb幾乎相同,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11

最新評論