Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: melana от Февраль 27, 2009, 15:41



Название: SOS!!! не могу отследить указатель мыши
Отправлено: melana от Февраль 27, 2009, 15:41
Помагите!!! не получается отследить движение мыши над QCanvasPoligon. необходимо при попадании на полигон менять курсор, но у меня только по щелчку определяется попадание на полигон. есть функция setMouseTracking(true), но я не знаю куда ее вставить


Название: Re: SOS!!! не могу отследить указатель мыши
Отправлено: BRE от Февраль 27, 2009, 16:11
У QCanvasView есть contentsMouseMoveEvent ( QMouseEvent * e ), переопределяешь ее и проверяешь над каким QCanvasItem находиться мышь. Можно посмотреть исходники Canvas demo.


Название: Re: SOS!!! не могу отследить указатель мыши
Отправлено: melana от Февраль 27, 2009, 17:46
я так сделала, но у меня только эта функция срабатывает после нажатия кнопки


Название: Re: SOS!!! не могу отследить указатель мыши
Отправлено: pastor от Февраль 27, 2009, 17:52
Ввыкладывай код, глянем


Название: Re: SOS!!! не могу отследить указатель мыши
Отправлено: melana от Февраль 27, 2009, 18:04
 :( у меня кода собой сейчас нет


Название: Re: SOS!!! не могу отследить указатель мыши
Отправлено: BRE от Февраль 27, 2009, 19:42
я так сделала, но у меня только эта функция срабатывает после нажатия кнопки
Нужно вызвать setMouseTracking для viewport.
В конструкторе твоего класса-наследника добавь:
Код
C++ (Qt)
viewport()->setMouseTracking( TRUE );
 
После этого будешь получать contentsMouseMoveEvent и без нажатых кнопок мыши.