【說明】
本文用 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...