Нахождение текущей позиции мыши в QT - PullRequest
2 голосов
/ 14 ноября 2010

Это моя первая попытка написать приложение QT, и я просто пытаюсь понять, как оно работает.Моя цель - иметь виджет 400x400, который знает точное положение мыши, когда мышь находится над ней.Например, если мышь зависла в верхнем левом углу, позиция могла бы быть 10,10 (или что-то подобное).Если мышь находится в правом нижнем углу, она может сказать 390 390.

В конечном итоге эти координаты будут отображаться в метке в главном окне, но это должно быть тривиально.Я застрял на фактической выборке координат.Есть идеи?

Ответы [ 2 ]

5 голосов
/ 14 ноября 2010

Для вашего виджета необходимо включить отслеживание мыши.

Затем вы можете либо установить фильтр событий, обращая внимание на события мыши и ища событие перемещения, либо вы можете наследовать от 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 голос
/ 17 июля 2015

Если вы когда-либо находились в ситуации, когда вам не нужно фактическое отслеживание, просто определите позицию на данный момент, вы можете использовать QCursor::pos().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...