qt模拟鼠标事件

模拟鼠标事件

1、模拟鼠标按下事件

cpp 复制代码
        QPoint p = this->rect().center();
        QMouseEvent *pressEvent = new QMouseEvent(QEvent::MouseButtonPress,
                                                  p,
                                                  Qt::LeftButton,
                                                  Qt::LeftButton,
                                                  Qt::NoModifier);
        mousePressEvent(pressEvent);

2、模拟鼠标松开事件

cpp 复制代码
QMouseEvent *releaseEvent = new QMouseEvent(QEvent::MouseButtonRelease,
                                                    p,
                                                    Qt::LeftButton,
                                                    Qt::LeftButton,
                                                    Qt::NoModifier);
mouseReleaseEvent(releaseEvent);

3、模拟鼠标点击事件

按顺序模拟1、2的事件,代码如下:

cpp 复制代码
mousePressEvent(pressEvent);
mouseReleaseEvent(releaseEvent);

4、模拟鼠标移动事件

cpp 复制代码
QMouseEvent *moveEvent = new QMouseEvent(QEvent::MouseMove,
                                         p,
                                         Qt::LeftButton,
                                         Qt::LeftButton,
                                         Qt::NoModifier);
mousePressEvent(pressEvent);
mouseReleaseEvent(releaseEvent);
mouseMoveEvent(moveEvent); //新增移动事件刷新画线和十字线
相关推荐
好家伙VCC4 分钟前
# 发散创新:基于Python的TTS语音合成实战与优化策略 在人工智能加速落地的今天,**文本转
java·开发语言·人工智能·python
等D春C夏X21 分钟前
最终版C++11/14/17学习大纲(精准核对42条条款)
java·开发语言
iameyama1 小时前
Amazon Redshift 和 BigQuery 数据类型区别
java·开发语言
-孤存-1 小时前
Spring Bean作用域与生命周期全解析
java·开发语言·前端
Remember_9931 小时前
SpringCloud:Nacos注册中心
java·开发语言·后端·算法·spring·spring cloud·list
几何心凉2 小时前
AI时代结合Haystack实现自定义数据抓取工具
开发语言
csbysj20202 小时前
JSP 文件上传详解
开发语言
郝学胜-神的一滴2 小时前
FastAPI:Python 高性能 Web 框架的优雅之选
开发语言·前端·数据结构·python·算法·fastapi
柒.梧.2 小时前
Java位运算详解:原理、用法及实战场景(面试重点)
开发语言·数据库·python