介绍
这篇文章给大家介绍怎么在PyQt5中利用QTimer实现一个电子时钟,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
1,定时器信号/槽方式
class 定时器(QWidget): def 才能;__init__(自我,,parent =, None):,, ,,,#…… ,,,, ,,,#新建一个QTimer对象,,,, ,,,self.timer =, QTimer (),,, ,,,self.timer.setInterval (1000),,,, ,,,self.timer.start () ,,,, ,,,#,信号连接到槽,,,, ,,,self.timer.timeout.connect (self.onTimerOut) #,才能定义槽 def 才能onTimerOut(自我):,,,, ,,,self.lcd.display (time.strftime (“% X", time.localtime ()))
完整代码:
import 系统 import 时间 得到PyQt5.QtCore import * 得到PyQt5.QtGui import * 得到PyQt5.QtWidgets import * class 定时器(QWidget): def 才能;__init__(自我,,parent =,无): ,,,超级(定时器,,自我). __init__(父),,, ,,,self.resize (200,, 100),,, ,,,self.setWindowTitle (“QTimerDemo") ,,,, ,,,self.lcd =, QLCDNumber (),,, ,,,self.lcd.setDigitCount (10),,, ,,,self.lcd.setMode (QLCDNumber.Dec) ,,,self.lcd.setSegmentStyle (QLCDNumber.Flat) ,,,self.lcd.display (time.strftime (“% X", time.localtime ())) ,,,layout =, QVBoxLayout () ,,,layout.addWidget (self.lcd),,,, ,,,self.setLayout(布局) ,,,, ,,,#新建一个QTimer对象,,,, ,,,self.timer =, QTimer (),,, ,,,self.timer.setInterval (1000),,,, ,,,self.timer.start () ,,,, ,,,#,信号连接到槽,,,, ,,,self.timer.timeout.connect (self.onTimerOut) #,才能定义槽 def 才能onTimerOut(自我):,,,, ,,,self.lcd.display (time.strftime (“% X", time.localtime ())) ,,,, 时间=app QApplication (sys.argv) 时间=t 定时器() t.show () sys.exit (app.exec_ ())
2,定时器事件方式
class 定时器(QWidget): def 才能;__init__(自我,,parent =,无): ,,,#…… ,,,, ,,,#新建一个QTimer对象,,,, ,,,self.timer =, QBasicTimer (), #, QTimer()貌似不行,不知何故吗? ,,,self.timer.start(1000年,自我), ,, #,才能覆写计时器事件处理函数timerEvent () def 才能timerEvent(自我,事件): ,,,self.lcd.display (time.strftime (“% X", time.localtime ()))
完整代码:
import 系统 import 时间 得到PyQt5.QtCore import * 得到PyQt5.QtGui import * 得到PyQt5.QtWidgets import * class 定时器(QWidget): def 才能;__init__(自我,,parent =,无): ,,,超级(定时器,,自我). __init__(父),,, ,,,self.resize (200,, 100),,, ,,,self.setWindowTitle (“QTimerDemo") ,,,, ,,,self.lcd =, QLCDNumber (),,, ,,,self.lcd.setDigitCount (10),,, ,,,self.lcd.setMode (QLCDNumber.Dec) ,,,self.lcd.setSegmentStyle (QLCDNumber.Flat) ,,,self.lcd.display (time.strftime (“% X", time.localtime ())) ,,,layout =, QVBoxLayout () ,,,layout.addWidget (self.lcd),,,, ,,,self.setLayout(布局) ,,,, ,,,#新建一个QTimer对象,,,, ,,,self.timer =, QBasicTimer (), #, QTimer()貌似不行,不知何故吗? ,,,self.timer.start(1000年,自我), ,, #,才能覆写计时器事件处理函数timerEvent () def 才能timerEvent(自我,事件): ,,,if event.timerId (),==, self.timer.timerId (): ,,,,,self.lcd.display (time.strftime (“% X", time.localtime ())) ,,,: ,,,,,超级(WigglyWidget,,自我).timerEvent(事件) null null null null null怎么在PyQt5中利用QTimer实现一个电子时钟