Qt问题~!!如何获得鼠标的位置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt问题~!!如何获得鼠标的位置?相关的知识,希望对你有一定的参考价值。

是我new widget的同时怎么获得鼠标的位置?在鼠标的事件获得根本没有用~

用静态成员函数:

QCursor::pos();

返回的是鼠标在屏幕中的坐标位置。

参考技术A #include <QMouseEvent> 参考技术B QPoint aaa = cursor().pos(); 参考技术C QPoint aaa = cursor().pos();
这样就好 能不能采纳本回答被提问者采纳

我如何(在 Maya 中)获得鼠标的 3D 位置?

【中文标题】我如何(在 Maya 中)获得鼠标的 3D 位置?【英文标题】:how (in maya) can i get the 3D position of the mouse? 【发布时间】:2010-12-25 07:02:07 【问题描述】:

我使用以下代码在 Maya 中创建了一个拖动上下文,pos 保存我的鼠标光标的 2D 坐标,我想将其转换为 3D 坐标作为我想要发射的射线的源,我想要它要么通过python脚本或通过python api,,,

import maya.cmds as mc

mc.draggerContext( 'testContext', pressCommand='getCursorPos()',
                    dragCommand='getCursorPos()', cursor='default')

def getCursorPos():

    #--get the 2D position of cursor (on the view port)----

    pos = mc.draggerContext( 'testContext', query=1, dragPoint=1) 

    #----convert to 3D coordinates in the scene--------
    ????????

提前致谢

【问题讨论】:

# 错误:RuntimeError:文件 第 4 行:# 【参考方案1】:

实际上,您可能想查看 draggerContext 命令帮助中的 space(sp) 标志。

mc.draggerContext('sampleContext', dragCommand='getCursorPos()', space='world')

def getCursorPos():
    print mc.draggerContext( 'testContext', query=1, dragPoint=1) 

...应该为您打印点击的世界空间 XYZ 值。

【讨论】:

【参考方案2】:

您是否查看过 draggerContext 的投影 (-pr) 选项?

鼠标坐标是二维数据,投影选项是解决如何映射第三维的方法。对于光线,也许以下选项之一与您的问题相关:

xAxis 投影到 X 轴上最近的点 yAxis 投影到 Y 轴上的最近点 zAxis 投影到 Z 轴上的最近点

希望对您有所帮助,祝您好运。

【讨论】:

以上是关于Qt问题~!!如何获得鼠标的位置?的主要内容,如果未能解决你的问题,请参考以下文章

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

求qt在QGraphicsView中主动捕获鼠标位置的实现方法?

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

如何在 Qt 中获取鼠标在屏幕上的位置?

qt :显示鼠标位置,如工具提示

如何获取鼠标在控件中位置.MFC和API都行 谢谢