qt将光标相对于桌面的位置转换为相对于窗口的位置
提要
鼠标光标获取的位置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将光标相对于桌面的位置转换为相对于窗口的位置相关推荐
- C#指定窗口显示位置的方法
小哥哥小姐姐觉得有用点个赞呗! C#指定窗口显示位置的方法 1.使用StartPosition MainForm mainform; mainform=new MainForm (); dlgCtrl ...
- QT开发_弹出窗口禁用父窗口并移动到父窗口中心位置
在开发中我们可能会增加一些动画效果,如弹出子窗口时父窗口不可操作 我们可以在弹出子窗口的构造函数里添加如下代码: setWindowModality(Qt::ApplicationModal); 这条 ...
- QT:设置子窗口显示在父窗口的位置(绝对坐标)
QT:设置子窗口显示在父窗口的位置(绝对坐标) 故事背景:最近需要在父窗体修改按钮上弹出二次确认框,之前要么使用 QDesktopWidget,要么使用QCursor,来设置弹窗位置,但是这两种方式不 ...
- winy 计算机没桌面,批处理文件如何运行程序并设置窗口的位置和大小?
使用一些帮助程序和批处理文件完全解决了这个问题 我有两个解决方案;一台用于单台监控计算机,另一台用于多台监控计算机. 解决方案1:对于单个监视器计算机 此演示批处理文件将并排打开两个资源管理器窗口,并 ...
- java文本框光标后添加图片_由编辑器从光标处插入图片(失去焦点后仍然可以在原位置插入)实现的富文本编辑器...
大家都知道,如果只是大概的实现一个简单的富文本编辑器,直接用execCommand就可以了,虽然不同浏览器对execCommand命令的反应不一样,最后效果是差不多的.当然,如果要严谨的,用像uedi ...
- 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...
- Qt之无边框设计、鼠标移动窗体、子窗口阴影设计学习
1)无边框设计代码如下,在构造函数中加入: setWindowFlags(Qt::FramelessWindowHint); //去掉系统边框,设置标志 2)子窗口阴影效果,如下代码: //阴影边框效 ...
- R语言使用str_locate函数和str_locate_all函数来定位特定字符串或者字符串模式在字符串中的位置:str_locate函数第一个位置、str_locate_all函数定位所有位置
R语言使用str_locate函数和str_locate_all函数来定位特定字符串或者字符串模式在字符串中的位置:str_locate函数第一个位置.str_locate_all函数定位所有位置 目 ...
- 原生js--兼容获取窗口滚动条位置和窗口大小的方法
各个浏览器对获取获取窗口滚动条位置和窗口大小没有提供统一的API,以下是对其封装,解决兼容性问题 /** * 获取浏览器视口的大小(显示文档的部分) * */ function getViewP ...
最新文章
- 数据库db_files参数增大怎么办
- 密码技术应用--SM4文件加解密
- 功能农业奠基人-农业大健康·万祥军:赵其国安康工作站揭牌
- CDMA(牛客第八场构造题)
- c语言 如何创建adt_编程那些事儿:面向对象编程基石之数据抽象(ADT)
- C语言常用基础位操作
- matlab简易编程,MATLAB简单编程
- python深入和扩展_加速方案 — Python扩展模块
- node中间件KOA函数
- Spring Boot(5)---第一个Spring Boot应用程序
- maven导出runnable jar
- C# DataGridView 如何选中整行
- 6.TensorRT中文版开发教程-----从头搭建TensorRT深度学习推理引擎
- sprintf函数的用法linux,Linux 常用函数——sprintf函数
- 2、什么是软件过程?它与软件工程方法学有何关系?
- 周文强做客《逐梦年代》与主持人李思思讲述创业背后的秘密
- 入门二叉树,三种遍历,计算结点个数 ,深度 叶子结点个数,第k层结点个数
- Python之输入一个年份判断该年是否是闰年
- 音质好的蓝牙耳机推荐哪款?佩戴舒适的四款蓝牙耳机盘点
- (可实现的CCA2 放松条件---funcCPA)论文学习笔记