PyQt5学习笔记---多线程---定时器

15 篇文章 0 订阅

定时器:

QTimer:提供了重复轮询和单词的的定时器

先创建QTimer的实例,将其timeout的信号连接到对应的槽,并调用start()。

常用方法

start(milliseconds)

启动或重新启动定时器,时间间隔为毫秒,如果定时器已经启动,将被停止并重新启动,若sigleShot为True,则只被激活一次

stop()

停止定时器

常用信号

singleShot

在给定的时间间隔后,调用一个槽函数发射此信号

timeout

当定时器超时发射此信号

#QTimer
# 表格控件实例
# -*- coding: utf-8 -*-
from PyQt5.QtWidgets import  *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys

class WinForm(QWidget):
    def __init__(self,parent=None):
        super(WinForm, self).__init__(parent)
        self.setWindowTitle("QTimer")
        self.listFile=QListWidget()
        self.lable=QLabel("显示当前时间")
        self.startBtn=QPushButton("start")
        self.endBtn = QPushButton("end")
        layout=QGridLayout()

        #初始化一个定时器
        self.timer=QTimer(self)
        #show Time方法
        self.timer.timeout.connect(self.showTime)

        layout.addWidget(self.lable,0,0,1,2)
        layout.addWidget(self.startBtn,1,0)
        layout.addWidget(self.endBtn,1,1)

        self.startBtn.clicked.connect(self.startTimer)
        self.endBtn.clicked.connect(self.endTimer)

        self.setLayout(layout)

    def showTime(self):
        #获取系统时间
        time=QDateTime.currentDateTime()
        #设置系统时间格式
        timeDisplay=time.toString("yyyy-MM-dd hh:mm:ss dddd")
        #在标签上显示时间
        self.lable.setText(timeDisplay)

    def startTimer(self):
        #设置时间间隔并启动定时器
        self.timer.start(1000)
        self.startBtn.setEnabled(False)
        self.endBtn.setEnabled(True)

    def endTimer(self):
        self.timer.stop()
        self.endBtn.setEnabled(False)
        self.startBtn.setEnabled(True)
        self.lable.setText("")

if __name__=="__main__":
    app=QApplication(sys.argv)
    #test 1
    # demp=WinForm()
    # demp.show()

    #test 2
    # lable=QLabel("<font color=red size=128><b>hello pyqt 10s quit </b></font>")
    # #无边框窗口
    # lable.setWindowFlags(Qt.SplashScreen|Qt.FramelessWindowHint)
    # lable.show()
    # QTimer.singleShot(10000,app.quit)
    sys.exit(app.exec_())

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值