qt 只实现了鼠标左键的双击事件,同时会触发mousePressEvent事件,那么怎么区分鼠标的单击,双击呢??进入正题,请见以下源码,或者下载资源:http://download.csdn.net/detail/shaosheng2008/9823796

/**************************************/

//头文件: double_single_clicked.h

/*************************************/

#ifndef DOUBLE_SINGLE_CLICKED_H
#define DOUBLE_SINGLE_CLICKED_H

#include <QtWidgets/QWidget>

class QTimer;
class QLabel;

class DoubleSingleClicked : public QWidget
{
Q_OBJECT

public:
DoubleSingleClicked(QWidget *parent = 0);
~DoubleSingleClicked();

protected:
void mouseDoubleClickEvent(QMouseEvent *e);
void mousePressEvent(QMouseEvent *);

private slots:
void slotSingleClicked();
private:
QTimer *m_clickedTimer = nullptr;
QLabel *m_label = nullptr;
};

#endif // DOUBLE_SINGLE_CLICKED_H

/***********************************************************************************************************/

//.cpp文件:double_single_clicked.cpp

/**********************************************************************************************************/

#include "double_single_clicked.h"
#include <QTimer>
#include <QLabel>
#include <QMouseEvent>

DoubleSingleClicked::DoubleSingleClicked(QWidget *parent)
: QWidget(parent)
{
setFixedSize(600, 400);
m_label = new QLabel(this);
m_label->move(15, 50);
m_label->setText(QStringLiteral("区分鼠标单击,双击事件!"));

m_clickedTimer = new QTimer(this);
connect(m_clickedTimer, SIGNAL(timeout()), this, SLOT(slotSingleClicked()));
}

DoubleSingleClicked::~DoubleSingleClicked()
{

}

void DoubleSingleClicked::mouseDoubleClickEvent(QMouseEvent *e)
{
if (m_clickedTimer->isActive())
m_clickedTimer->stop();
m_label->setText(QStringLiteral("鼠标双击!!"));
}

void DoubleSingleClicked::mousePressEvent(QMouseEvent *e)
{
if (Qt::LeftButton == e->button())
{
m_clickedTimer->start(300);
}
}

void DoubleSingleClicked::slotSingleClicked()
{
m_label->setText(QStringLiteral("鼠标单击!!"));
if (m_clickedTimer->isActive())
m_clickedTimer->stop();
}

欢迎加入Q群(565993954)进行技术交流、讨论!!

qt 实现、区分鼠标单击,双击事件相关推荐

  1. JS中解决单击双击事件的冲突

    当一个元素上即绑定了单击事件又绑定了双击事件,双击元素时会先触发单击事件,没有达到我们理想的效果从而影响了用户体验. 解决方法: // 解决同一个元素使用单击双击事件的冲突 // 解决思路:单击事件后 ...

  2. Qt中鼠标的双击事件和单击事件的实现方式

    背景 同一个部件既要响应鼠标单击事件又要响应双击事件,而且两者响应的动作没有交集,跟不存在包含关系(如果双击事件动作包含单击事件的动作,那么只需要将双击事件特有的部分放到mouseDoubleClic ...

  3. C#鼠标单双击事件区分

    其实这只是很小的一个问题,点明白就很容易理解了,但看到很多人不明白,自己也疑惑了一阵.于是单独写在这.不仅C#,其他语言也是如此. 下面这段代码是我们判断单双击常用的, if(e.getClickCo ...

  4. python Pyqt5 QLabel控件 自定义添加鼠标单击信号/事件 双击信号/事件

    直接上代码: from PyQt5.QtWidgets import QLabel from PyQt5.QtCore import pyqtSignalclass MyQLabel(QLabel): ...

  5. Qt 实现QLabel的单击双击功能(一)

    版本:Qt5.12.3 将来的Qt版本会不会支持QLabel鼠标点击事件不知道,此版本是不支持的,需要自己手动实现. (1)在项目中添加一个类,命名为QXHLabel,继承自QLabel. (2)在Q ...

  6. JavaScript 技巧篇-js增加延迟时间解决单击双击事件冲突,双击事件触发单击事件

    js 的单双击事件同时存在会有一个问题:双击事件会同时触发单击事件,两个事件存在冲突. 我们加一个延迟时间就能很好的解决这个问题. 原理: 当接收到第一个点击时,我们先把单击事件存储在这个是全局变量 ...

  7. JS中解决单击双击事件的冲突的问题

    当一个父节点上即绑定了双击事件,子节点又绑定了单击时,单击或双击子节点时,根据事件流中的冒泡阶段都会先触发子节点上的单击事件,然后冒泡到父节点,而有时我们并不想要子节点的单击事件触发 解决思路: 1. ...

  8. js自定义双击事件(可更改双击触发间隔,解决单击双击事件冲突)

    思路: 设置一个计数器,用来记录点击的次数. 点击第一次:创建定时器,300毫秒后,执行单击操作,并将计数器归零 点击第二次:定时器还没有触发,删除定时器.执行双击操作,并将计数器归零 // 定时器 ...

  9. qt练习11 鼠标,按键,滚轮事件学习

    源代码: http://files.cnblogs.com/hnrainll/event.zip

  10. javascript 鼠标单击和双击事件并存的实现方法

    http://www.jbxue.com/article/8033.html 本文介绍下实现javascript鼠标单击与双击事件并存的方法,经常需要为一个链接注册双击事件,或让一个按钮或者其他元素上 ...

最新文章

  1. 凡科虚拟服务器怎样做301,虚拟主机301重定向怎么做?网站301重定向方法之一
  2. VMware安装Win7虚拟机
  3. 以太网实习_一位工科男在拿到华为实习生offer后的面经干货
  4. SpringMVC的请求-文件上传-客户端表单实现
  5. Google真相:决策贡献及其艰苦抉择
  6. 关于redis的持久化
  7. 张超超OC基础回顾01_类的创建,申明属性,以及本质
  8. JDK 8.0 新特性——接口默认方法与静态方法
  9. 证明三角形内角和等于180度
  10. linux的acid属性,Linux_Linux下主要浏览器Acid3大测试(组图),最近浏览器大战愈演愈烈,而 - phpStudy...
  11. 图解设计模式,看完秒懂!!!
  12. html+css网页开发 之 头部导航条(logo、导航栏、搜索框)
  13. mysql error 1236_【MySQL】Got fatal error 1236原因和解决方法
  14. 分享一个插件-水珠自动下落效果
  15. 0xC0000005:读取位置 0x00000004时发生访问冲突。
  16. Traceback (most recent call last): File “C:\ProgramData\Anaconda3\lib\site-packages\qtpy\QtWebEngine
  17. Android实现头像上传至数据库与保存 简易新闻(十七 下)
  18. android转服务器吗,王者荣耀角色迁移iOS区可以转安卓区吗 王者荣耀角色迁移iOS区转安卓区详情...
  19. 又是一年金九银十!docker搭建ssr
  20. 挑战程序设计竞赛(第2版)pdf

热门文章

  1. 毕业设计之---基于java web的停车管理系统
  2. 各种未授权访问漏洞的复现与利用
  3. 百度html的json解析,百度调用API返回json数据解析
  4. 【解决问题】java.lang.ClassNotFoundException: com.Application 问题的几种解决方案
  5. 两平面平行方向向量关系_空间向量,如果一条直线与一平面平行,那么直线的方向向量与平面的法向量有什么关系??垂直呢?...
  6. 【Pix4d精品教程】pix4d mapper相机未校准后手动添加连接点完美案例图文教程
  7. HTML网页设计期末课程大作业 ---H5移动端电商购物网页设计35页面(包括主页,商品详情,转账,付款,购物车等页面) 功能齐全
  8. android 9.0 c7Pro,三星c7pro和vivo x9哪个好?三星Galaxy c7 pro和vivo x9区别对比评测
  9. 【P01】双运放非反相放大器和失调处置
  10. 一种抑制稳态振荡的改进型变步长MPPT 算法研究.pdf