QT 中控件内坐标转换为父窗口坐标或屏幕坐标
Posted 小哈龙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT 中控件内坐标转换为父窗口坐标或屏幕坐标相关的知识,希望对你有一定的参考价值。
已知一个控件的相对父窗口(左上角)的坐标位置,如何获取该控件相对于屏幕(左上角)的坐标,这个问题在MFC里面存在一些函数提供转换,在QT中也存在同样功能的函数,使用起来更便捷。在QT中几乎大部分控件都是继承自QWidget类,因此几乎所有控件都可以使用QWidget类中提供的许多便捷的函数,其中坐标转换便是其中之一:
//以下摘自qwidget.h
//Widget coordinate mapping
QPoint mapToGlobal(const QPoint &) const; //控件内转屏幕
QPoint mapFromGlobal(const QPoint &) const; //屏幕转控件内
QPoint mapToParent(const QPoint &) const; //控件内转父控件
QPoint mapFromParent(const QPoint &) const; //父控件转控件内
QPoint mapTo(const QWidget,const QPoint &) const; //转换至指定控件
QPoint mapFrom(const QWidget,const QPoint &) const; //从指定控件转换为控件内
以上是关于QT 中控件内坐标转换为父窗口坐标或屏幕坐标的主要内容,如果未能解决你的问题,请参考以下文章