PyQt5之QTimer定時器

2021-10-08 17:15:37 字數 2748 閱讀 4693

如果要在應用程式中周期性地進行某項操作,比如周期性地檢測主機的cpu值,則需要用到qtimer定時器,qtimer類提供了重複的和單次的定時器。要使用定時器,需要先建立乙個qtimer例項,將其timeout訊號連線到相應的槽,並呼叫start()。然後定時器會以恆定的間隔發出timeout訊號,當視窗控制項收到timeout訊號後,它就會停止這個定時器。

方法

描述start(milliseconds)

啟動或重新啟動定時器,時間間隔為毫秒。如果定時器已經執行,它將被停止並重新啟動。如果singleshot訊號為真,定時器將僅被啟用一次

stop()

停止定時器

訊號描述

singleshot

在給定的時間間隔後呼叫乙個槽函式時發射此訊號

timeout

當定時器超時時發射此訊號

示例1:

import sys

from pyqt5 import qtcore

from pyqt5.qtwidgets import

*from pyqt5.qtgui import

*from pyqt5.qtcore import

*class

demo

(qwidget)

: count =

0def

__init__

(self)

:super()

.__init__(

) self.setgeometry(

100,50,

500,

400)

self.setwindowtitle(

'qtimer'

) self.

list

= qlistwidget(

) self.label = qlabel(

'顯示當前時間'

) self.start = qpushbutton(

'開始'

) self.end = qpushbutton(

'結束'

) 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)

defshowtime

(self)

:#獲取系統現在的時間

time = qdatetime.currentdatetime(

).tostring(

'yyyy-mm-dd hh:mm:ss dddd'

) self.label.settext(time)

defstarttimer

(self)

:#設定時間間隔並啟動定時器

self.timer.start(

1000

) self.start.setenabled(

false

) self.end.setenabled(

true

)def

endtimer

(self)

:#關閉定時器

self.timer.stop(

) self.start.setenabled(

true

) self.end.setenabled(

false

)if __name__ ==

"__main__"

: form = demo(

) form.show())

)

執行效果如下:

示例2:

import sys

from pyqt5 import qtcore

from pyqt5.qtwidgets import

*from pyqt5.qtgui import

*from pyqt5.qtcore import

*if __name__ ==

"__main__"

: label = qlabel(

'pyqt5,視窗5秒後消失'

)#無邊框視窗

label.setwindowflags(qt.splashscreen|qt.framelesswindowhint)

label.show(

)#設定5秒後自動退出

qtimer.singleshot(

5000

))

執行效果如下:

pyQt5 學習筆記(4)定時器

定時器是程式設計中核心功能模組之一,qt為我們提供了定時器的api,我們可以通過指定乙個控制項,每隔一段時間,執行什麼操作。pyqt5定時器有三個型別 qt.timertype pyqt5主要有以下兩個個功能 對於計時器而言,精準定時有利於我們程式的控制,但是也增加的系統的負擔,所以選擇何種型別定時...

定時器 QTimer類

定時器 qtimer類 qtimer timer new qtimer connect timer,signal timeout this,slot x timer setinterval 1000 設定間隔時間 事件單位毫秒 timer setsingleshot true timer start...

QTimer定時器類

參考 1 首先建立乙個定時器類的物件 qtimer timer new qtimer this 2 timer 超時後會發出timeout 訊號,所以在建立好定時器物件後給其建立訊號與槽 connect timer,signal timeout this,slot timeoutslot 3 在需要...