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); //新增移动事件刷新画线和十字线
相关推荐
w-w0w-w10 小时前
C++模板参数与特化全解析
开发语言·c++
不绝19110 小时前
C#核心:继承
开发语言·c#
AI即插即用11 小时前
即插即用系列(代码实践)专栏介绍
开发语言·人工智能·深度学习·计算机视觉
码农水水11 小时前
蚂蚁Java面试被问:混沌工程在分布式系统中的应用
java·linux·开发语言·面试·职场和发展·php
喵了meme12 小时前
c语言经验分享
c语言·开发语言
Knight_AL12 小时前
用 JOL 验证 synchronized 的锁升级过程(偏向锁 → 轻量级锁 → 重量级锁)
开发语言·jvm·c#
啊阿狸不会拉杆12 小时前
《数字图像处理》第 4 章 - 频域滤波
开发语言·python·数字信号处理·数字图像处理·频率域滤波
江沉晚呤时13 小时前
从零实现 C# 插件系统:轻松扩展应用功能
java·开发语言·microsoft·c#
Knight_AL13 小时前
Java 多态详解:概念、实现机制与实践应用
java·开发语言
Omigeq13 小时前
1.2.1 - 图搜索算法(以A*为例) - Python运动规划库教程(Python Motion Planning)
开发语言·python·机器人·图搜索算法