Qt 把连续两次单击当成双击
方法1: 主要通过计时器,在一段时间内的连续两次单击,触发双击事件
void init()
{
m_nClickCount = 0;
m_timer = new QTimer(this);
connect(m_timer, SIGNAL(timeout()), this, SLOT(onKeyOneClick()));
}
void mouseReleaseEvent(QMouseEvent*)
{
if (!m_timer->isActive()) //计数期间,则不重新开始
{
m_timer->start();//300ms是判断双击的时间间隔,不唯一,可根据实际情况改变
}
m_nClickCount += ;
//300ms 内,两次单击则触发双击效果 ,然后停止计数
if(m_nClickCount == )
{
emit sigClose();
m_nClickCount = ;
m_timer->stop();
}
} void onKeyOneClick()
{
m_timer->stop();
m_nClickCount = ; }
方法2:
void MainWindow::mouseReleaseEvent(QMouseEvent *)
{
static int num = ;
static double time_Start = ;
static double time_End = ; num+=;
if(num == ){
time_Start = (double)clock();
qDebug()<< "num == 1";
if((time_Start - time_End) < ){//连续快速两次单击
//
qDebug()<< "click quickly " << time_Start - time_End ;
}
}
if(num == ){
num = ;
qDebug()<< "num == 2";
time_End = (double)clock();
if((time_End - time_Start) < ){//连续快速两次单击
//
qDebug()<< "click quickly " << time_End - time_Start ;
}
}
}
方法3:
void MainWindow::mouseReleaseEvent(QMouseEvent *)
{
static int num = ;
static struct timeval tpstart,tpend;
float timeuse; num+=;
if(num == ){
gettimeofday(&tpstart,NULL);
// timeuse=(1000000*(tpend.tv_sec-tpstart.tv_sec) + tpend.tv_usec-tpstart.tv_usec)/1000.0;
// qDebug()<< "num == 1 " << timeuse ;
// if(timeuse< 400){//连续快速两次单击
// //
// qDebug()<< "click quickly " ;
// }
}
if(num == ){
num = ;
gettimeofday(&tpend,NULL);
timeuse=(*(tpend.tv_sec-tpstart.tv_sec) + tpend.tv_usec-tpstart.tv_usec)/1000.0;
qDebug()<< "num == 2 " << timeuse;
if(timeuse < ){//连续快速两次单击
//
qDebug()<< "click quickly " ;
}
}
}
Qt 把连续两次单击当成双击的更多相关文章
- (转)MFC:Windows如何区分鼠标双击和两次单击
在Windows平台上,鼠标左键的按下.松开.快速的两次点击会产生WM_LBUTTONDOWN.WM_LBUTTONUP和WM_LBUTTONDBLCLK消息,但是Windows根据什么来区分连续的两 ...
- Qt:QPushButton 单击、双击响应区分
开发环境:win10+vs2015+qt5.9.1 背景:QPushButton的双击事件虽然一直有,但是在双击完成之前,总会响应到单击的事件处理或者连接槽,使用很不方便.自己子类化了一个QPushB ...
- (转) Windows如何区分鼠标双击和两次单击
Windows如何区分鼠标双击和两次单击 http://lbsloveldm.blog.hexun.com/12212875_d.html 在Windows平台上,鼠标左键的按下.松开.快速的两次点击 ...
- Angular JS中双击事件ng-dblclick避免同时触发两次单击事件ng-click的解决方案
有些需求中,需要一个元素上既有双击事件,也有单击事件,而两者实现的效果不一样. 这时可以使用ng-dblclick与ng-click来实现需求,但是要避免浏览器将双击事件误认为是两次单击事件,从而出现 ...
- javascript双击事件取消默认的两次单击事件
当一个元素同时具有单击和双击事件时,双击时会触发2次单击和1此双击事件. 双击会:先第1次单击 ,同时触发第2次和双击事件. 造成的不好影响:每次单击事件会延迟执行. <!DOCTYPE htm ...
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验四:按键模块③ — 单击与双击
实验四:按键模块③ - 单击与双击 实验三我们创建了"点击"还有"长点击"等有效按键的多功能按键模块.在此,实验四同样也是创建多功能按键模块,不过却有不同的有效 ...
- jquery 单击和双击事件冲突解决方案
先看一下点击事件的执行顺序: 单击(click):mousedown,mouseout,click: 双击(dblclick):mousedown,mouseout,click , mousedown ...
- winform里怎样在一个按钮上实现“单击”和“双击”事件?
Button按钮是没有双击事件(DoubleClick)的. button1.DoubleClick+=new EventHandler(button1_DoubleClick);使用这种方法在双击的 ...
- Hololens开发笔记之Gesture手势识别(单击,双击)
本文使用手势识别实现识别单击及双击手势的功能,当单击Cube时改变颜色为蓝色,当双击Cube时改变颜色为绿色. 手势识别是HoloLens交互的重要输入方法之一.HoloLens提供了底层API和高层 ...
随机推荐
- GFS(Google File System,谷歌文件系统)----(1)文件系统简介
分布式文件系统 系统是构建在普通的.廉价的机器上,因此故障是常态而不是意外 系统希望存储的是大量的大型文件(单个文件size很大) 系统支持两种类型读操作:大量的顺序读取以及小规模的随机读取(larg ...
- 【洛谷】P3980 [NOI2008]志愿者招募
[洛谷]P3980 [NOI2008]志愿者招募 我居然现在才会用费用流解线性规划-- 当然这里解决的一类问题比较特殊 以式子作为点,变量作为边,然后要求就是变量在不同的式子里出现了两次,系数一次为+ ...
- oracle经典查询语句
1. select * from emp; 2. select empno, ename, job from emp; 3. select empno 编号, ename 姓名, job 工作 ...
- python 手机App数据抓取实战一
前言 当前手机使用成为互联网主流,每天手机App产生大量数据,学习爬虫的人也不能只会爬取网页数据,我们需要学习如何从手机 APP 中获取数据,本文就以豆果美食为例,讲诉爬取手机App的流程 环境准备 ...
- Python之并行编程笔记
概述: 非并发: 1 程序由单个步骤序列构成 2 包含独立子任务的程序执行性能低 并发: 1 异步.高效 2 分解子任务.简化流程与逻辑 进程process:1 一个程序的执行实例 2 每个进 ...
- Activate注解
Activate注解 被该注解修饰的接口,扩展类可能会被加载 ProtocolFilterWrapper.buildInvokerChain @Documented @Retention(Retent ...
- Vs code 下设置python tasks.json
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.jso ...
- python 创建es mapping
import requests def get_(): url = "http://127.0.0.1:9200/indextest/_mapping?pretty" ss = r ...
- hdu 6375 度度熊学队列 (链表模拟)
度度熊正在学习双端队列,他对其翻转和合并产生了很大的兴趣. 初始时有 N 个空的双端队列(编号为 1 到 N ),你要支持度度熊的 Q 次操作. ①1 u w val 在编号为 u 的队列里加入一个 ...
- (三)Redis之数据结构概念以及数据结构之字符串
一.数据结构 五种数据类型: 字符串(String) 字符串列表(list) 有序字符串集合(sorted set) 哈希(hash) 字符串集合(set) 二.数据结构之字符串 二进制安全的,存入和 ...