在QT中查找当前鼠标位置

时间:2010-11-14 18:27:06

标签: c++ qt qt4

这是我第一次尝试编写QT应用程序,我只是想了解它是如何工作的。我的目标是拥有一个400x400的小部件,它可以在鼠标悬停在鼠标上时知道鼠标的确切位置。例如,如果鼠标悬停在左上角,则位置可能是10,10(或类似的东西)。如果鼠标位于右下角,则可能是390,390。

最终,这些坐标将显示在主窗口的标签中,但这应该是微不足道的。我坚持实际获取坐标。有什么想法吗?

2 个答案:

答案 0 :(得分:5)

对于您的小部件,您必须启用鼠标跟踪。

然后,您可以安装事件过滤器,关注鼠标事件并查找移动事件,也可以继承QWidget并覆盖鼠标事件,查找鼠标移动事件。

http://doc.qt.io/qt-4.8/qwidget.html#mouseTracking-prop

http://doc.qt.io/qt-4.8/eventsandfilters.html

http://doc.qt.io/qt-4.8/qmouseevent.html

答案 1 :(得分:1)

如果您遇到不需要实际跟踪的情况,此时只需定位,您可以使用QCursor::pos()