方法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 " ;
}
}
}

最新文章

  1. 卷积神经网络(CNN)学习算法之----基于LeNet网络的中文验证码识别
  2. DOM操作 ——如何添加、移除、移动、复制、创建和查找节点等。
  3. Java学习笔记 02 String类、StringBuilder类、字符串格式化和正则表达式
  4. css li 不换行(布局,内容)
  5. Java系列,《Java核心技术 卷1》,chapter 13,集合
  6. Codeforces Round #257 (Div. 1) C. Jzzhu and Apples (素数筛)
  7. _vsnprintf 用法
  8. hdu 5067 Harry And Dig Machine
  9. Layer弹层组件 二次扩展,项目中直接使用。
  10. ip地址与整数相互转换
  11. JAVA 实现tail -f 日志文件监控功能
  12. 应用负载均衡之LVS(三):使用ipvsadm以及详细分析VS/DR模式
  13. 分布式改造剧集2---DIY分布式锁
  14. Spring Cloud Alibaba基础教程:Nacos配置的多环境管理
  15. keepalived+nginx负载均衡+ApacheWeb实现高可用
  16. Tsinghua 2018 DSA PA2简要题解
  17. html/css的学习之路(2)
  18. 将 数据库中的结果集转换为json格式(三)
  19. maven pom添加oracle11驱动
  20. linux学习思维导图(转)

热门文章

  1. React学习,搭建项目,入门
  2. JS 定时器/延时器
  3. Anaconda安装报错
  4. spring cloud微服务实践二
  5. MongoDB部分
  6. C语言之反汇编揭秘
  7. mysql查看表结构命令,如下:
  8. 写文章 通俗易懂 悲观锁、乐观锁、可重入锁、自旋锁、偏向锁、轻量/重量级锁、读写锁、各种锁及其Java实现!
  9. (九)Hibernate 的复合主键
  10. OGG 自动重启脚本