当前位置: 首页 > news >正文

【已解决】Qt无法追踪到mouse移动事件

本博文源于笔者正在亲身经历的Qt无法追踪到鼠标移动事件。事情是这样的,笔者有一个应用程序,当应用程序移动进窗口里的时候,每移动一下,检测鼠标位置,进而调整鼠标的形状,结果发现它这死活不听话。后来解决了这个问题,写下这篇博文

1、问题起源

想要监视窗体内鼠标移动

2、原始解决方案

在构造函数里写下这些。

this->setMouseTracking(true);
this->installEventFilter(this);

然后在监听事件里,写下这些

if (event->type() == QEvent::MouseMove) {//...一些操作}

结果发现没有任何一点作用,根本不响应MouseMove,只有在鼠标左键按下,不断滑动窗体菜响应事件。

3、问题解决方案

将监听事件里的

if (event->type() == QEvent::MouseMove) {//...一些操作}

删去,变成这种

if (event->type() == QEvent::HoverEnter || event->type() == QEvent::HoverLeave || event->type() == QEvent::HoverMove) {//....一些操作}

然后在构造函数里写下这些。

this->setAttribute(Qt::WA_Hover, true);

这段代码

4、测试效果

效果是只要窗体内鼠标移动,便可触发你的一些操作事件。

http://www.lryc.cn/news/193776.html

相关文章:

  • Dubbo从0到1——万字完整学习笔记
  • Rust初接触
  • shell脚本学习笔记03(小滴课堂)
  • 软件工程和计算机科学与技术学习方向区别
  • React常用hooks总结
  • 【算法学习】-【滑动窗口】-【找到字符串中所有字母异位词】
  • 利用python学习如何处理需要登录的网站
  • vue适配各个屏幕
  • 在conda创建的虚拟环境中安装jupyter以及使用
  • 【Java 8的新特性】
  • Android+Appium自动化测试环境搭建及实操
  • NetSuite ERP系统健康检查
  • 常用的数字格式代码
  • GitLab使用步骤
  • 基于MindSpore的llama微调在OpenI平台上运行
  • P34~36第八章相量法
  • WAF绕过-漏洞发现之代理池指纹探针 47
  • 模型预测控制(MPC)中考虑约束中的不确定性(Matlab代码实现)
  • 校招C#面试题整理—Unity客户端
  • 【数字IC设计】利用Design Compiler评估动态功耗
  • Docker Compose命令讲解+文件编写
  • Linux bash: ipconfig: command not found解决方法
  • 【面试算法——动态规划 21】正则表达式匹配(hard) 交错字符串
  • 基于Python实现的神经网络分类MNIST数据集
  • 设计模式之是简单工厂模式
  • Java应用的混淆、加密以及加壳
  • 【Linux】:Linux中Shell命令及其运行原理/权限的理解
  • 传统项目管理与敏捷项目管理
  • 只要掌握Win32应用程序错误的来龙去脉,就没必要惊慌失措
  • ABB机器人关于重定位移动讲解