Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: developer-nsk от Ноябрь 26, 2009, 13:49



Название: Cобытие обратное mouseMoveEvent
Отправлено: developer-nsk от Ноябрь 26, 2009, 13:49
Здравствуйте, господа программисты! Я разрабатываю виджет, который должен реагировать на событие mouseMoveEvent, если пользователь навёл курсор на него, а если курсор находится в любом другом месте (вне виджета), то виджет должен вернуть своё начальное состояние. Подскажите, пожалуйста, есть ли какое-то событие, обратное mouseMoveEvent или каким способом наиболее правильно и красиво это реализовать. Заранее спасибо за помощь!


Название: Re: Cобытие обратное mouseMoveEvent
Отправлено: BRE от Ноябрь 26, 2009, 13:52
Здравствуйте, господа программисты! Я разрабатываю виджет, который должен реагировать на событие mouseMoveEvent, если пользователь навёл курсор на него, а если курсор находится в любом другом месте (вне виджета), то виджет должен вернуть своё начальное состояние. Подскажите, пожалуйста, есть ли какое-то событие, обратное mouseMoveEvent или каким способом наиболее правильно и красиво это реализовать. Заранее спасибо за помощь!
Сдается мне ты про это:
void QWidget::enterEvent ( QEvent * event )   [virtual protected]
void QWidget::leaveEvent ( QEvent * event )   [virtual protected]


Название: Re: Cобытие обратное mouseMoveEvent
Отправлено: developer-nsk от Ноябрь 26, 2009, 14:21
Спасибо большое! Это как раз то, что нужно!


Название: Re: Cобытие обратное mouseMoveEvent
Отправлено: SASA от Ноябрь 26, 2009, 16:55
Не забудь задать виджету mouseTracking.


Название: Re: Cобытие обратное mouseMoveEvent
Отправлено: developer-nsk от Ноябрь 27, 2009, 19:20
Не забудь задать виджету mouseTracking.

Да, я так понял, это тоже важно... Без этого не будут обрабатываться мышиные события, правильно?


Название: Re: Cобытие обратное mouseMoveEvent
Отправлено: SASA от Ноябрь 27, 2009, 19:45
Да, я так понял, это тоже важно... Без этого не будут обрабатываться мышиные события, правильно?

Будут обрабатываться только клики.


Название: Re: Cобытие обратное mouseMoveEvent
Отправлено: spectre71 от Ноябрь 27, 2009, 21:45
Да, я так понял, это тоже важно... Без этого не будут обрабатываться мышиные события, правильно?

Будут обрабатываться только клики.

Нет не только!
Любое перемещение мыши с хотя бы одной зажатой на ней кнопкой.


Название: Re: Cобытие обратное mouseMoveEvent
Отправлено: Igors от Ноябрь 27, 2009, 21:53
Нет не только!
Любое перемещение мыши с хотя бы одной зажатой на ней кнопкой.
Ну зачем же так многословно если есть простое слово drag  :)


Название: Re: Cобытие обратное mouseMoveEvent
Отправлено: lit-uriy от Ноябрь 27, 2009, 22:00
>>drag
нет такого слова в русском языке, есть "тащить"


Название: Re: Cобытие обратное mouseMoveEvent
Отправлено: Igors от Ноябрь 27, 2009, 22:14
>>drag
нет такого слова в русском языке, есть "тащить"
Юра, ну если уж на то пошло то и Винни-Пух Ваш "не очень русский" :) Что плохого в том чтобы использовать давно устоявшиеся термины? Icon - всем понятно, а что такое оте "значки"?? :) Не вижу здесь никакого "преклонения перед иностранщиной" - просто удобно


Название: Re: Cобытие обратное mouseMoveEvent
Отправлено: developer-nsk от Ноябрь 30, 2009, 16:12
Спасибо больше за подсказки!
Но у меня почему-то категорически отказываются обрабатываться вышеприведённые события у QGraphicsItem'ов... Причём mouseTracking у них нету... Может быть нужно включить какой-то флаг?