怎么在PyQt5中利用QTimer实现一个电子时钟-创新互联
这篇文章给大家介绍怎么在PyQt5中利用QTimer实现一个电子时钟,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为长海企业提供专业的网站建设、成都网站制作,长海网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。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实现一个电子时钟就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
文章名称:怎么在PyQt5中利用QTimer实现一个电子时钟-创新互联
分享链接:http://scjbc.cn/article/dccdgi.html