Qt 如何获取滚动窗体中鼠标点击的坐标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt 如何获取滚动窗体中鼠标点击的坐标相关的知识,希望对你有一定的参考价值。

在一般情况下,通过mousePressEvent事件,即可获得鼠标单击窗口的坐标。
但是,如果是在带滚动条的窗体中,能够获得的窗体坐标范围始终是窗口大小的范围。可是如果滚动条向下滚动,怎么才能获得滚动条滚动的坐标呢?我必须将滚动条滚动的坐标加上当前的窗体坐标,才是我在滚动窗体中的实际坐标值。
所以,我的问题可以分为两个子问题:1.能否获得滚动窗体中的真实坐标,而不只是窗口中的坐标。2.如果需要使用滚动条滚动量+窗口坐标来定位真实坐标,怎样获得Qt滚动条的滚动量(我使用的是QScrollArea)

参考技术A int hvalue = m_pScrollArea->horizontalScrollBar()->value();
int vvalue = m_pScrollArea->verticalScrollBar()->value();
希望这两个函数对你有帮助本回答被提问者采纳
参考技术B buzhidao

c#window窗体应用程序中一个控件,如果鼠标点击控件,怎么获得此时鼠标点击处的屏幕坐标

参考技术A 通过鼠标事件(mouse_down mouse_up mouse_over mouse_click等)获取事件源,然后通过这个事件源可获取鼠标的坐标(x,y)追问

在from窗体下这样可以的,但要把鼠标放到一个控件上的话,这些事件根本就不响应啊

参考技术B PointToScreen(Point point) 从控件里点击坐标系转换为屏幕坐标系。 记得加上控件在窗体里的坐标本回答被提问者采纳

以上是关于Qt 如何获取滚动窗体中鼠标点击的坐标的主要内容,如果未能解决你的问题,请参考以下文章

c#window窗体应用程序中一个控件,如果鼠标点击控件,怎么获得此时鼠标点击处的屏幕坐标

QT中如何获取QTableView当前行的坐标

Cesium 获取鼠标点击坐标及世界坐标与弧度(经纬度)转换

Qt OpenGL-如何根据鼠标点击获取对象

在 Windows 环境中,如何获取鼠标点击的坐标(相对于窗口)

C#如何让窗体中间一部分让鼠标透过