这篇文章给大家介绍怎么在PyQt5中利用QTimer实现一个电子时钟,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
1、定时器信号/槽方式
class MyTimer(QWidget): def __init__(self, parent = None): # ...... #新建一个QTimer对象 self.timer = QTimer() self.timer.setInterval(1000) self.timer.start() # 信号连接到槽 self.timer.timeout.connect(self.onTimerOut) # 定义槽 def onTimerOut(self): self.lcd.display(time.strftime("%X",time.localtime()))
完整代码:
import sys import time from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class MyTimer(QWidget): def __init__(self, parent = None): super(MyTimer, self).__init__(parent) 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(layout) #新建一个QTimer对象 self.timer = QTimer() self.timer.setInterval(1000) self.timer.start() # 信号连接到槽 self.timer.timeout.connect(self.onTimerOut) # 定义槽 def onTimerOut(self): self.lcd.display(time.strftime("%X",time.localtime())) app = QApplication(sys.argv) t = MyTimer() t.show() sys.exit(app.exec_())
2、定时器事件方式
class MyTimer(QWidget): def __init__(self, parent = None): # ...... #新建一个QTimer对象 self.timer = QBasicTimer() # QTimer()貌似不行,不知何故? self.timer.start(1000, self) # 覆写计时器事件处理函数timerEvent() def timerEvent(self, event): self.lcd.display(time.strftime("%X",time.localtime()))
完整代码:
import sys import time from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class MyTimer(QWidget): def __init__(self, parent = None): super(MyTimer, self).__init__(parent) 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(layout) #新建一个QTimer对象 self.timer = QBasicTimer() # QTimer()貌似不行,不知何故? self.timer.start(1000, self) # 覆写计时器事件处理函数timerEvent() def timerEvent(self, event): if event.timerId() == self.timer.timerId(): self.lcd.display(time.strftime("%X",time.localtime())) else: super(WigglyWidget, self).timerEvent(event) app = QApplication(sys.argv) t = MyTimer() t.show() sys.exit(app.exec_())
关于怎么在PyQt5中利用QTimer实现一个电子时钟就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。