QTimer不能同时使用两个,用QTimerEvent (QT)
最近写程序的时候有个界面想定两个QTimer定时器,不同时间干不同的事:
QTimer *timer1 = new QTimer(this); QTimer *timer2 = new QTimer(this); timer1->start(100); timer2->start(1000); connect(timer1, SIGNAL(timeout()), this, SLOT(Timer1_Fuc());
connect(timer2, SIGNAL(timeout()), this, SLOT(Timer2_Fuc());
但是运行的时候发现,timer2连接的槽函数Timer2_Fuc()一直没有触发。
可能是一个线程内不能有两个定时器同时工作?
后来看到了一个QTimerEvent(),可以多个定时器同时工作,使用方法如下:
(使用QTimerEvent就不用将定时器和槽函数连接了)
.h
//在头文件中重载timerEvent()
private slots:
void timerEvent(QTimerEvent *event) Q_DECL_OVERRIDE;
private:
//定义需要用到的定时器
int Timer1;
int Timer2; .CPP
//在.CPP文件中实现
//启动定时器
Timer1 = startTimer();
Timer2 = startTimer(); void MainWindow::timerEvent(QTimerEvent *event) {
if(event->timerId() == Timer1) {
//do Timer1_Fuc
}
if(event->timerId() == Timer2) {
//do Timer2_Fuc
}
}
QTimer不能同时使用两个,用QTimerEvent (QT)的更多相关文章
- Z-STACK在CC2530上同时使用两个串口
定义: 1.同时使用两个串口必须要一个为DMA,一个为ISR 2.我们这里使用串口1(DMA)来和别的设备进行通讯,使用 2(ISR)来和Z-TOOL进行通讯,方便调试 HAL_UART=TRUE Z ...
- 一台电脑上的git同时使用两个github账户
需求: 公司有github账号,自己有github账号,想在git上同时使用,两者互不干扰. 思路: 管理两个SHH key. 解决方案: 一.生成两个SSH key 为了举例方便,这里使用“one” ...
- [转]一台电脑上的git同时使用两个github账户
需求: 公司有github账号,自己有github账号,想在git上同时使用,两者互不干扰. 思路: 管理两个SHH key. 解决方案: 一.生成两个SSH key 为了举例方便,这里使用“one” ...
- 一台电脑上同时使用两个github账户
需求:公司有github账号,自己有github账号,想在Git上同时使用,两者互不干扰. 思路:管理两个SHH key. 解决办法: 一.生成两个SSH key 为了举例方便,这里使用“one”和“ ...
- 两个基于C++/Qt的开源WEB框架
1.tufao 项目地址: https://github.com/vinipsmaker/tufao 主页: http://vinipsmaker.github.io/tufao/ 介绍: Tufão ...
- div同时使用两个class
<p class="con hide">...</p> 1:使用空格分割 2:这个段落将同时应用这两个 class 制定的规则 3:如果二者有重叠,后者覆盖 ...
- 如何在一个电脑上同时使用两个Git的账号
前言 又需要登录公司的账号,又想在电脑上使用自己的账号. 实现 首先是git config方面的设置,要取消掉原本对于git账号的全局设置. git config --global --unset u ...
- Git-在一个电脑上同时使用两个Git的账号
前言 又需要登录公司的账号,又想在电脑上使用自己的账号. 实现 首先是git config方面的设置,要取消掉原本对于git账号的全局设置. git config --global --unset u ...
- Qt中的布局浅析与弹簧的使用,以及Qt居中的两种方法
1. 布局 为什么要布局: 布局之后窗口的排列是有序的 布局之后窗口的大小发生变化, 控件的大小也会对应变化 如果不对控件布局, 窗口显示出来之后有些控件的看不到的 布局是可以嵌套使用 常用的布局方式 ...
随机推荐
- 个性化对待亚马逊不同站点 使用 Python 进行线程编程
# -*- coding: UTF-8 -*- import threading import time exitFlag = 0 class myThread (threading.Thread): ...
- What is the difference between Kill and Kill -9 command in Unix?
w difference kill -9 pid and kill pid command - Ask Ubuntu https://askubuntu.com/questions/791841/d ...
- JS手写状态管理的实现(转)
https://juejin.im/post/5c528411e51d456898361e43
- Components controls 区别
http://www.cnblogs.com/del/archive/2008/10/23/1317862.html 一个容器控件如果被其他控件指定为属主(Owner), 那么它的 Component ...
- js面向对象程序设计之继承
在面向对象语言中继承分成两种:接口继承和实现继承.解释一下,接口继承只继承方法的签名,而实现继承则是继承实际的方法.但是ECMAScript中的函数没有签名所以无法进行接口继承,只能是实现实现继承.而 ...
- 【ABAP系列】SAP 读取生产订单 记入文档的货物移动明细
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 读取生产订单 记入文档的 ...
- 嗯,python
总觉得在这么个地方已经没有在碰blog的可能了...但是... 突然说要用python来配置环境...好歹也是这个专业的啊...还是 看看吧... 然后 百度一搜,看到一个 好的 网站,不知道 我一旦 ...
- iis7 https配置方法并且http跳转https
操作场景 本文档指导您如何在 IIS 中安装 SSL 证书. 说明: 本文档以证书名称 www.domain.com 为例. 本文档以操作系统 Windows10 为例.由于操作系统的版本不同,详细操 ...
- 多线程04-ThreadPriority
; i < ; i++) { Thread.Sleep(); Console.WriteLine( ...
- Java8 特性详解(一) Lambda
为什么要使用lambda表达式 从函数式接口说起 理解Functional Interface(函数式接口)是学习Java8 lambda表达式的关键所在. 函数式接口的定义其实很简单:任何接口,如果 ...