坐标系统

qt中有两类坐标系统,一类是窗口坐标,一类是显示器坐标(全局坐标)。

QPoint QMouseEvent::pos() :返回相对这个widget的位置

QPoint QMouseEvent::globalPos() :窗口坐标,这个是返回鼠标的全局坐标

QPoint QWidget::pos() :这个属性获得的是当前目前控件在父窗口中的位置

QPoint QWidget::mapToGlobal(const QPoint & pos)  const :将窗口坐标转换成显示器坐标

QPoint QWidget::mapFromGlobal(const QPoint & pos) const :将显示器坐标转换成窗口坐标

QPoint QWidget::mapToParent(const QPoint & pos) const:  将窗口坐标获得的pos转换成父类widget的坐标

QPoint QWidget::mapFromParent(const QPoint & pos) const :将父类窗口坐标转换成当前窗口坐标

QPoint QWidget::mapTo(const QWidget * parent, const QPoint & pos) const :将当前窗口坐标转换成指定parent坐标。

QPoint QCursor::pos() :   返回相对显示器的全局坐标 

QRect QWidget::geometry():返回的是相对于父窗口的坐标

QRect QWidget::setGeometry(ax,ay,aw,ah):前两个参数是窗口坐标,后两个是宽度和高度

void QWidget::move(ax,ay)::设置的是全局坐标

cursor().pos() 这个返回的是全局的坐标

注意:当前窗口如果为顶级窗口的话,则geometry和setGeometry的窗口坐标即为全局坐标,setGeometry不能再有布局器下使用

http://blog.csdn.net/swartz_lubel/article/category/6693940/4 

http://blog.163.com/qimo601@126/blog/static/158220932014423114030117/

原文地址:https://www.cnblogs.com/leijiangtao/p/4180099.html