PyQt5用QTimer編寫電子時鐘

2022-03-15 20:57:22 字數 4054 閱讀 4553

【說明】

本文用 pyqt5 的qtimer類的兩種方式實現電子時鐘

【效果圖】

【知識點】

qtimer類提供了定時器訊號/槽和單觸發定時器。

它在內部使用定時器事件來提供更通用的定時器。

qtimer很容易使用:建立乙個qtimer,使用start()來開始並且把它的timeout()連線到適當的槽。當這段時間過去了,它將會發射timeout()訊號。

【實現】

1、定時器訊號/槽方式

1

class

mytimer(qwidget):

2def

__init__(self, parent =none): 3#

......45

#新建乙個qtimer物件

6 self.timer =qtimer()

7 self.timer.setinterval(1000)

8self.timer.start()910

#訊號連線到槽

11self.timer.timeout.connect(self.ontimerout)

1213

#定義槽

14def

ontimerout(self):

15 self.lcd.display(time.strftime("

%x",time.localtime()))

完整**:

1

import

sys2

import

time

3from pyqt5.qtcore import *

4from pyqt5.qtgui import *

5from pyqt5.qtwidgets import *67

class

mytimer(qwidget):

8def

__init__(self, parent =none):

9 super(mytimer, self).__init__

(parent)

10 self.resize(200, 100)

11 self.setwindowtitle("

qtimerdemo")

1213 self.lcd =qlcdnumber()

14 self.lcd.setdigitcount(10)

15self.lcd.setmode(qlcdnumber.dec)

16self.lcd.setsegmentstyle(qlcdnumber.flat)

17 self.lcd.display(time.strftime("%x"

,time.localtime()))

1819 layout =qvboxlayout()

20layout.addwidget(self.lcd)

21self.setlayout(layout)

2223

#新建乙個qtimer物件

24 self.timer =qtimer()

25 self.timer.setinterval(1000)

26self.timer.start()

2728

#訊號連線到槽

29self.timer.timeout.connect(self.ontimerout)

3031

#定義槽

32def

ontimerout(self):

33 self.lcd.display(time.strftime("%x"

,time.localtime()))

3435

3638 t =mytimer()

39t.show()

view code

2、定時器事件方式

1class

mytimer(qwidget):

2def

__init__(self, parent =none):3#

......45

#新建乙個qtimer物件

6 self.timer = qbasictimer() #

qtimer()貌似不行,不知何故?

7 self.timer.start(1000, self) 89

#覆寫計時器事件處理函式timerevent()

10def

timerevent(self, event):

11 self.lcd.display(time.strftime("

%x",time.localtime()))

完整**:

1import

sys2

import

time

3from pyqt5.qtcore import *

4from pyqt5.qtgui import *

5from pyqt5.qtwidgets import *67

class

mytimer(qwidget):

8def

__init__(self, parent =none):

9 super(mytimer, self).__init__

(parent)

10 self.resize(200, 100)

11 self.setwindowtitle("

qtimerdemo")

1213 self.lcd =qlcdnumber()

14 self.lcd.setdigitcount(10)

15self.lcd.setmode(qlcdnumber.dec)

16self.lcd.setsegmentstyle(qlcdnumber.flat)

17 self.lcd.display(time.strftime("%x"

,time.localtime()))

1819 layout =qvboxlayout()

20layout.addwidget(self.lcd)

21self.setlayout(layout)

2223

#新建乙個qtimer物件

24 self.timer = qbasictimer() #

qtimer()貌似不行,不知何故?

25 self.timer.start(1000, self)

2627

#覆寫計時器事件處理函式timerevent()

28def

timerevent(self, event):

29if event.timerid() ==self.timer.timerid():

30 self.lcd.display(time.strftime("%x"

,time.localtime()))

31else:32

super(wigglywidget, self).timerevent(event)

3334

36 t =mytimer()

37t.show()

view code

PyQt5用QTimer編寫電子時鐘

說明 本文用 pyqt5 的qtimer類的兩種方式實現電子時鐘 效果圖 知識點 qtimer類提供了定時器訊號 槽和單觸發定時器。它在內部使用定時器事件來提供更通用的定時器。qtimer很容易使用 建立乙個qtimer,使用start 來開始並且把它的timeout 連線到適當的槽。當這段時間過去...

PyQt5之QTimer定時器

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

pyqt5切換python版本 pyqt5介面切換

主要的思路就是建立兩個frame 如果有兩個以上同理 使用setvisible 函式顯示或者隱藏frame 引數是bool值 import sys from pyqt5.qtwidgets import from pyqt5.qtcore import from pyqt5.qtgui import...