提要

鼠标光标获取的位置cursor().pos()是相对于整个屏幕坐标的,鼠标进入窗口的范围内,判断光标是否在窗口中某控件的范围内,就需先将相对于整个电脑屏幕的鼠标位置,转换为相对于当前程序的窗口的位置,然后判断这个坐标点是否在窗口控件的矩形中。

示例

直接上代码,判断鼠标是否进入到窗口上某一个控件中。

void largeScreenListWidget::enterEvent(QEvent *event)
{if (ui->BigScreenListwidget->rect().contains(mapFromGlobal(cursor().pos()))) {if(m_toolTip != nullptr){QString str = QString("大屏的行数%1,\r\n列数%2,\r\n大屏名称%3").arg(m_row).arg(m_col).arg(m_strName);m_toolTip->setToolTipInfo(str);m_toolTip->setGeometry(cursor().pos().x(),cursor().pos().y(),m_toolTip->size().width(),m_toolTip->size().height());m_toolTip->show();}}
}

总结:

`判断鼠标是否进入控件BigScreenListwidget中,BigScreenListwidget为继承于QWidget的窗口类的一个子控件,进入指定控件BigScreenListwidget后就显示一个提示窗口。语句便为ui->BigScreenListwidget->rect().contains(mapFromGlobal(cursor().pos())),需要使用函数mapFromGlobal()将鼠标位置转换为相对于窗口的位置,通过contains()函数来判断这个点是否在指定控件的矩形中包含。

qt将光标相对于桌面的位置转换为相对于窗口的位置相关推荐

  1. C#指定窗口显示位置的方法

    小哥哥小姐姐觉得有用点个赞呗! C#指定窗口显示位置的方法 1.使用StartPosition MainForm mainform; mainform=new MainForm (); dlgCtrl ...

  2. QT开发_弹出窗口禁用父窗口并移动到父窗口中心位置

    在开发中我们可能会增加一些动画效果,如弹出子窗口时父窗口不可操作 我们可以在弹出子窗口的构造函数里添加如下代码: setWindowModality(Qt::ApplicationModal); 这条 ...

  3. QT:设置子窗口显示在父窗口的位置(绝对坐标)

    QT:设置子窗口显示在父窗口的位置(绝对坐标) 故事背景:最近需要在父窗体修改按钮上弹出二次确认框,之前要么使用 QDesktopWidget,要么使用QCursor,来设置弹窗位置,但是这两种方式不 ...

  4. winy 计算机没桌面,批处理文件如何运行程序并设置窗口的位置和大小?

    使用一些帮助程序和批处理文件完全解决了这个问题 我有两个解决方案;一台用于单台监控计算机,另一台用于多台监控计算机. 解决方案1:对于单个监视器计算机 此演示批处理文件将并排打开两个资源管理器窗口,并 ...

  5. java文本框光标后添加图片_由编辑器从光标处插入图片(失去焦点后仍然可以在原位置插入)实现的富文本编辑器...

    大家都知道,如果只是大概的实现一个简单的富文本编辑器,直接用execCommand就可以了,虽然不同浏览器对execCommand命令的反应不一样,最后效果是差不多的.当然,如果要严谨的,用像uedi ...

  6. 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子

      本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...

  7. Qt之无边框设计、鼠标移动窗体、子窗口阴影设计学习

    1)无边框设计代码如下,在构造函数中加入: setWindowFlags(Qt::FramelessWindowHint); //去掉系统边框,设置标志 2)子窗口阴影效果,如下代码: //阴影边框效 ...

  8. R语言使用str_locate函数和str_locate_all函数来定位特定字符串或者字符串模式在字符串中的位置:str_locate函数第一个位置、str_locate_all函数定位所有位置

    R语言使用str_locate函数和str_locate_all函数来定位特定字符串或者字符串模式在字符串中的位置:str_locate函数第一个位置.str_locate_all函数定位所有位置 目 ...

  9. 原生js--兼容获取窗口滚动条位置和窗口大小的方法

    各个浏览器对获取获取窗口滚动条位置和窗口大小没有提供统一的API,以下是对其封装,解决兼容性问题 /**  * 获取浏览器视口的大小(显示文档的部分)  *  */ function getViewP ...

最新文章

  1. 数据库db_files参数增大怎么办
  2. 密码技术应用--SM4文件加解密
  3. 功能农业奠基人-农业大健康·万祥军:赵其国安康工作站揭牌
  4. CDMA(牛客第八场构造题)
  5. c语言 如何创建adt_编程那些事儿:面向对象编程基石之数据抽象(ADT)
  6. C语言常用基础位操作
  7. matlab简易编程,MATLAB简单编程
  8. python深入和扩展_加速方案 — Python扩展模块
  9. node中间件KOA函数
  10. Spring Boot(5)---第一个Spring Boot应用程序
  11. maven导出runnable jar
  12. C# DataGridView 如何选中整行
  13. 6.TensorRT中文版开发教程-----从头搭建TensorRT深度学习推理引擎
  14. sprintf函数的用法linux,Linux 常用函数——sprintf函数
  15. 2、什么是软件过程?它与软件工程方法学有何关系?
  16. 周文强做客《逐梦年代》与主持人李思思讲述创业背后的秘密
  17. 入门二叉树,三种遍历,计算结点个数 ,深度 叶子结点个数,第k层结点个数
  18. Python之输入一个年份判断该年是否是闰年
  19. 音质好的蓝牙耳机推荐哪款?佩戴舒适的四款蓝牙耳机盘点
  20. (可实现的CCA2 放松条件---funcCPA)论文学习笔记

热门文章

  1. 异动分析技术解决方案—异动归因之指标拆解
  2. 冗余云计算连接:保持组织运行
  3. 上海鸥新:基于大数据的商场实时客流分析系统
  4. 全球加速产品 方便更多学生获得申请名校的机会
  5. 黑科技揭秘:3分钟,轻松构建一张覆盖全球的企业专有网络
  6. 面向工业场景,如何实现绿色智能?
  7. 运维质变育新机,华为云能否引领政企运维破局?
  8. 移动云11.11,钜惠High不停!
  9. 巧用 Trie 树,实现搜索引擎关键词提示功能
  10. 容器云常见安全威胁与防范 | 技术干货