Qt-系统处理鼠标相关事件(57)

目录

使用

按下事件

释放事件

双击事件

移动事件

滚轮事件


使用

按下事件

实现下面的功能

鼠标在此处点击,就可以获取鼠标位置

添加函数

提升函数

手册中找到这个函数的原型

重写该函数

定义

重写

这里有一个细节需要注意,因为这里的标准点击都能触发,比如左键、右键甚至侧键都能触发,滚轮的点击也是可以触发的,滚动不行,还有现在的一些自定义的组合键也是不能的,也就是是标准的鼠标点击都是能够触发 mousePressEvent 这个信号的

我们可以进行判断,来区别左击还是右击

关于其他的可以触发的,可以查考原文中的枚举

释放事件

在帮助中找到原型

使用

双击事件

找到原型,注意字面意思,会触发鼠标的点击和释放事件

使用

注意

移动事件

这个事件比较特殊

假如直接写的话是不行的,因为鼠标移动会短时间内产生大量的事件,这会导致系统反应不过来,基于这一点,Qt是不允许这个函数的运行的,只要在声明中强调需要执行,Qt才会执行该函数

鼠标追踪需要声明

如下声明之后就可以正常使用啦,但是假如你快速移动鼠标的话,还是会卡顿的哦,所以使用这个函数的时候需要慎重

滚轮事件

原型

鼠标滚动

显示本人的鼠标是滚动一格是 120 个像素,向上为正,向下为负

相关推荐
another heaven4 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
SomeOtherTime5 小时前
Rust 闭包语法和原理(AI回答)
开发语言·后端·rust
apcipot_rain5 小时前
C++转Java日记(10)
java·开发语言
总要学点什么6 小时前
第105篇:三维特效-流动图片墙体效果——让箭头沿墙长滚,它俩竟是同一份代码
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
xiaoye-duck6 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
Funlang8 小时前
龙芯上的 Fun:从跑起来到机器码
开发语言·龙芯
总要学点什么8 小时前
第104篇:三维特效-流动墙体效果——让贴图沿墙流动,它却只肯走一条对角线
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
旖旎夜光8 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
ShineWinsu8 小时前
对于Qt:QTabWidget常见属性的解析
开发语言·数据库·c++·qt·浏览器·qtabwidget·标签页
普通人69 小时前
WebGL与WebGPU入门指南
开发语言·webgl·1024程序员节