怎样获取一个控件相对于父窗口的坐标位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样获取一个控件相对于父窗口的坐标位置相关的知识,希望对你有一定的参考价值。
参考技术A pos()函数就能解决问题,能够返回坐标点QPoint如果有父窗口的话,你先试试mapToParent(),返回在父窗口中的坐标,然后再
mapToGlobal(),你试试,我现在没空弄这个,如果还不行的话,我再想想 参考技术B 正确的方法是这样的:
crect
rect;
getwindowrect(&rect);
这样获得的是控件相对于屏幕的坐标,然后用screentoclient(&rect)就可以获得控件相对于父窗口的坐标
注意:如果你用getclientrect(&rect)的话,rect.left和rect.top始终是0,得到的并不是实际坐标。
client offset screen 的区别
clientX 设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。
clientY 设置或获取鼠标指针位置相对于窗口客户区域的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。
offsetX 设置或获取鼠标指针位置相对于触发事件的(this)对象的 x 坐标。
offsetY 设置或获取鼠标指针位置相对于触发事件的(this)
对象的 y 坐标。
screenX 设置或获取获取鼠标指针位置相对于用户屏幕的 x 坐标。
screenY 设置或获取鼠标指针位置相对于用户屏幕的 y 坐标。
x 设置或获取鼠标指针位置相对于父文档的 x 像素坐标。
y 设置或获取鼠标指针位置相对于父文档的 y 像素坐标。
以上是关于怎样获取一个控件相对于父窗口的坐标位置的主要内容,如果未能解决你的问题,请参考以下文章