Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: pakulo от Мая 13, 2007, 20:03



Название: Позиция курсора
Отправлено: pakulo от Мая 13, 2007, 20:03
Разместил на виджете
QLabel *label
проинсталил для него фильтр событий
label->installEventFilter(this)

нужно обработать событие mouseMoveEvent

фильтр виджета
widget::eventFilter(Qevent *event)
QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event)

и если узнаю позицию курсора event->pos() оно мне естественно показывает позицию курсора в обьекте, а мне нужно позиция курсора относительно виджета родителя.

Как можно узнать?


Название: Re: Позиция курсора
Отправлено: QCasper от Мая 13, 2007, 23:03
Цитата: "pakulo"
Разместил на виджете
QLabel *label
проинсталил для него фильтр событий
label->installEventFilter(this)

нужно обработать событие mouseMoveEvent

фильтр виджета
widget::eventFilter(Qevent *event)
QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event)

и если узнаю позицию курсора event->pos() оно мне естественно показывает позицию курсора в обьекте, а мне нужно позиция курсора относительно виджета родителя.

Как можно узнать?


А почему бы тогда не инсталлить фильтр сразу на родителя?


Название: Позиция курсора
Отправлено: pakulo от Мая 13, 2007, 23:42
А я тогда смогу обрабатывать события в подчиненный виджетах?

Мне нужно что бы когда я вожу мышкой на лабеле например оно мне писало координаты относительно главного виджета...

добавлено спустя 4 минуты:

 Я уже в принципе сделал, но метод мне не нравится... я узнаю глобальную позицию курсора а потом отнимаю координаты виджета.


Название: Re: Позиция курсора
Отправлено: pastor от Мая 13, 2007, 23:47
Цитата: "pakulo"

и если узнаю позицию курсора event->pos() оно мне естественно показывает позицию курсора в обьекте, а мне нужно позиция курсора относительно виджета родителя.

Как можно узнать?


mapToParent?