欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > [ Qt ] | 与系统相关的操作(一):鼠标相关事件

[ Qt ] | 与系统相关的操作(一):鼠标相关事件

2025/6/6 18:43:57 来源:https://blog.csdn.net/2501_90686778/article/details/148379225  浏览:    关键词:[ Qt ] | 与系统相关的操作(一):鼠标相关事件

目录

信号和事件的关系

 (leaveEvent和enterEvent)

实现通过事件获取鼠标进入和鼠标离开

(mousePressEvent) 

 实现通过事件获得鼠标点击的位置

(mouseReleaseEvent) 

 前一个的基础上添加鼠标释放事件

(mouseDoubleClickEvent)  

鼠标双击事件

鼠标移动事件

 鼠标滚轮事件


Qt中很多的能力是操作系统提供的,只不过是Qt封装了系统的API。

说到Qt系统相关呢~,主要分为下面几个部分:

1. 事件

2. 文件操作

3. 多线程编程

4. 网络编程

5. 多媒体(视频、音频)

 这篇文章主要介绍“事件”。

信号和事件的关系

 (leaveEvententerEvent)

实现通过事件获取鼠标进入和鼠标离开

创建一个子类,继承自Qlabel ,重写leaveEvententerEvent

拖入一个Label控件,修改frameShape为box

 

 下一步 -> 完成。

 

添加头文件,添加父对象

 

添加要重写的函数,注意拼写正确。

将QLabel提升为我们自己的Label

一定要确定这里的提升的类名称和头文件跟之前我们创建的是一致的。

点击 添加 -> 提升(右上角的对象树就发生了变化)

 

(mousePressEvent) 

 实现通过事件获得鼠标点击的位置

拖入一个Label控件,修改frameShape为box

新建一个Lable,继承自QLabel,修改接口希望能够指定父窗口,提升原来拖入的Lable控件,重写方法

 

这里的形参ev中就包含了鼠标指针的坐标。

我们可以看作左边远点是Label控件的左上角

 

我们点击可以发现,无论是鼠标左键、鼠标右键、鼠标中键(滚轮),前进后退侧键(标准的鼠标按键)点击都是可以获得坐标的。

我们可以判定是哪个案件触发了事件

可以转过去看看,依旧位图~~

(mouseReleaseEvent) 

 前一个的基础上添加鼠标释放事件

(mouseDoubleClickEvent)  

鼠标双击事件

继续在前一个基础上添加双击事件

我们发现:我们双击鼠标第二次就会触发鼠标双击的事件,而不是点击的事件。 

鼠标移动事件

 鼠标滚轮事件

不再是QMouseEvent,而是QWheelEvent

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词