获取相对于 Qt OpenGL 小部件的鼠标坐标
Posted
技术标签:
【中文标题】获取相对于 Qt OpenGL 小部件的鼠标坐标【英文标题】:Get mouse coordinates relative to Qt OpenGL widget 【发布时间】:2012-03-31 15:55:30 【问题描述】:我的鼠标坐标如下:
winX = QCursor::pos().x();
这些是整个屏幕的坐标。我需要获取相对于我的 OpenGL 窗口小部件窗口视口的坐标,所以我可以使用 gluUnProject 函数。
我该怎么做?
【问题讨论】:
【参考方案1】:您可能想看看 QWidget 的 mapFromGlobal(const QPoint & pos)
方法。
根据文档:
将全局屏幕坐标 pos 转换为小部件坐标。
【讨论】:
谢谢!我用过:winX = this->mapFromGlobal(QCursor::pos()).x(); winY = this->mapFromGlobal(QCursor::pos()).y(); 很高兴有帮助。但是,如果您只进行一次调用并从该结果中检索您的 x 和 y 值,那就更好了。只是一个提示。 :) atm 速度够快,适合我使用 :) 只是比@Bart 提出的解决方案丑一点。以上是关于获取相对于 Qt OpenGL 小部件的鼠标坐标的主要内容,如果未能解决你的问题,请参考以下文章