PyQt5系列教程(八)定时器QTimer的使用

软硬件环境

  • OS X EI Capitan
  • Python 3.5.1
  • PyQt 5.5.1

前言

如果需要在程序中周期性地进行某项操作,比如检测某种设备的状态,就会用到定时器。本文就来看看PyQT5中的QTimer的使用。

QTimer示例

假设要实现每过一秒计数一次这个功能,来看看QTimer怎么实现?

self.timer = QTimer(self)
self.count = 0
self.timer.timeout.connect(self.showNum)
self.startCount()

首先实例化一个timer,然后将它的timeout信号和自定义的showNum()方法绑定。最后调用startCount()这个方法开始这个定时器。上述几条语句一般放在window或者form的构造函数里。完整的例子自己去写写吧,也很简单。

startCount()方法 
def startCount(self): 
self.timer.start(1000)

timer.start()时间参数的单位是毫秒,这点要注意,相当于时间每过一秒,timer的timeout()就会被触发一次,而信号timeout又是和槽showNum()绑定在一起的,所以showNum()也会被调用一次。

showNum()槽函数 
def showNum(self): 
count = count + 1 
print(count)

时间: 2024-12-10 01:03:33

PyQt5系列教程(八)定时器QTimer的使用的相关文章

Unity3D脚本中文系列教程(八)

◆ static var matrix : Matrix4x4 描述:设置用于渲染所有gizmos的矩阵. 类方法 ◆ Static function DrawCube(center:Vector3,size:Vector3):void 描述:用center和size绘制一个立方体.function OnDrawGizmosSelected() {        //在变换位置处绘制一个变透明的蓝色立方体        Gizmos.color=Color(1,0,0,5);        Gi

webpack4 系列教程(八): CSS Tree Shaking

教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步原文地址 有空就来看看个人技术小站, 我一直都在 0. 课程介绍和资料 本次课程的代码目录(如下图所示): >>> 本节课源码 >>> 所有课程源码 1. CSS 也有 Tree Shaking? 是滴,随着 webpack 的兴起,css 也可以进行 Tree Shaking: 以去除项目代码中用不到的 CSS 样式,仅保留被使用的样式代码. 为了方便理解 Tree Shaking 概念,并且与 JS

Influx Sql系列教程八:query数据查询基本篇

前面几篇介绍了InfluxDB的添加,删除修改数据,接下来进入查询篇,掌握一定的SQL知识对于理解本篇博文有更好的帮助,下面在介绍查询的基础操作的同时,也会给出InfluxSql与SQL之间的一些差别 在开始之前,先看一下供查询的数据 > show measurements name: measurements name ---- yhh > select * from yhh name: yhh time age blog id name phone ---- --- ---- -- ---

PyQt5系列教程(三)用py2exe进行程序打包

软硬件环境 Windows 10 Python 3.4.2 PyQt5 Py2exe 前言 在我们开发了完整的PyQt5项目后,一般都会将其打包成exe文件,方便其他人使用.今天我们就用Py2exe这个工具来打包上一堂课中完成的工程,工程源码在http://download.csdn.net/detail/djstavav/9351205. Py2exe py2exe是python的一个打包成exe的工具,官方提供的可执行文件还不支持python3.google一下,发现已经有好心人重编了源码来

PyQt5系列教程(四)信号和槽

软硬件环境 OS X EI Capitan Python 3.5.1 PyQt 5.5.1 前言 信号(Signal)和槽(Slot)是Qt编程中对象间通讯的机制.在Qt中,每一个QObject对象,包括PyQT中所有继承自QWidget的控件(因为它们都是QObject的子对象)都支持signal和slot机制. signal和slot绑定 还是以之前的firstPyQt5工程为例, self.pushButton.clicked.connect(self.firtPyQt5_button_c

PyQt5系列教程(七)控件

软硬件环境 Windows 10 Python 3.4.2 PyQt 5.5.1 PyCharm 5.0.4 前言 控件是PyQt应用程序的基石.PyQt5自带很多不同的控件,包括像button.check box.slider等等.在本节中我们将学习几个非常有用的控件:QCheckBox.ToggleButton.QSlider.QProgressBar和QCalendarWidget. QCheckBox 一个QCheckBox会有2种状态:选中和为选中.它有一个选择框和一个label组成,

PyQt5系列教程(五)制作fastboot烧写器

软硬件环境 Windows 7 Python 3.4.2 PyQt 5.5.1 PyCharm 5.0.2 前言 fastboot是针对Android设备的一种刷机方式,它比recovery更底层,刷机速度更快.本文要完成的这个项目就是用PyQt5来给fastboot加个GUI层,使操作更加简单方便. 需求分析 首先要清楚fastboot能做些什么,通过在cmd里输入fastboot命令就可以查看它的帮助信息 本工程主要实现的是fastboot的烧录功能,其它的像获取.设置相关信息就没有涉及,有

Spring Boot2 系列教程 (八) | 配置日志

前言 如题,今天介绍 springboot 默认日志的配置. 默认日志 Logback 默认情况下,Spring Boot 用 Logback 来记录日志,并用 INFO 级别输出到控制台.如果你在平常项目中用过 Spring Boot,你应该已经注意到很多 INFO 级别的日志了.默认日志长这样: 2019-02-18 22:02:14.907 INFO 23384 --- [ main] org.hibernate.Version : HHH000412: Hibernate Core {5

Spring Boot系列教程八: Mybatis使用分页插件PageHelper

一.前言 上篇博客中介绍了spring boot集成mybatis的方法,基于上篇文章这里主要介绍如何使用分页插件PageHelper.在MyBatis中提供了拦截器接口,我们可以使用PageHelp最为一个插件装入到SqlSessionFactory,实现拦截器功能. 二.实现 pom.xml文件中添加依赖包 1 <dependency> 2 <groupId>com.github.pagehelper</groupId> 3 <artifactId>pa