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); //新增移动事件刷新画线和十字线
相关推荐
Miqiuha7 分钟前
工作答辩框架
java·开发语言
happymaker06268 分钟前
Java学习日记——DAY25(JavaSE完结)
java·开发语言·学习
qq_242188633217 分钟前
快速搭建跨环境检测服务的步骤
linux·开发语言·windows·python·macos
溪水西流38 分钟前
NodifyEditor Zoom 机制分析
开发语言·c#·avalonia
xyq202441 分钟前
Go 语言范围(Range)
开发语言
Anastasiozzzz43 分钟前
深入理解JIT编译器:从基础到逃逸分析优化
java·开发语言·jvm
独自破碎E1 小时前
BISHI56 分解质因数
java·开发语言
FL16238631291 小时前
windows从源码安装python版本paddleocr3.4.0
开发语言·windows·python
m0_531237171 小时前
C语言-static关键词,寄存器变量,define宏定义
c语言·开发语言
CHANG_THE_WORLD2 小时前
C++ 一维、二维、三维数组完整演示
开发语言·c++