Здравствуйте, гость ( Вход | Регистрация )
ssoft | Дата 5.12.2011, 7:06 |
Нужно обязательно переопределить событие leaveEvent Оно возникает при попытке курсора мыши покинуть widget. |
|
Delaar | Дата 4.12.2011, 23:36 |
Благодарю всех отписавшихся. Попробовал фильтры, не заработало как надо (курсор таки мог вылететь за пределы дозволенного). Решил поставить к виджету таймер, и в обработчике, если нужно - задавать координаты курсора. Таки получилось, как хотел. По ссылке ниже - проект. Смотреть battlescrollarea. http://webfile.ru/5708617 |
|
Dovgon | Дата 4.12.2011, 9:26 |
так просто не получится, надо делать в MainWindow mouseMoveEvent, после сигналом передовать в BattleFieldButton передовать QMouseEvent *mouse::globalX(); В самом BattleFieldButton слоте делать гдето так
где xPosOld предвидущий globalX т.к движение не обязательно на 1 pix. |
|
ilyabvt | Дата 3.12.2011, 18:36 |
Цитата но при быстром - выходит за его пределы. Проблема связана с тем что не успевает генерироваться событие. Можно решить путем установки EventFilter на приложение (QApplication), тогда можно будет контролировать координаты мыши даже если она успеет выйти за пределы виджета. http://doc.qt.nokia.com/latest/eventsandfilters.html http://doc.qt.nokia.com/latest/qobject.htm...tallEventFilter |
|
Delaar | Дата 3.12.2011, 17:18 |
Cюда прикрепить не смог, ссылка: http://webfile.ru/5706577 Там все проект, проблема в battlefieldbutton.cpp Дополнение...пока кое-как ограничивается только движение вправо от центра scrollarea. |
|
Delaar | Дата 3.12.2011, 17:15 |
Cюда прикрепить не смог, ссылка: http://webfile.ru/5706577 Там все проект, проблема в battlefieldbutton.cpp |
|
Dovgon | Дата 3.12.2011, 16:37 |
приведи код. | |
Delaar | Дата 3.12.2011, 15:55 |
Добрый день, форумчане. Подскажите, каким образом разрешить курсору перемещение в пределах одного виджета. На данный момент пробую подход с SetMouseTracking(true) у нужного виджета и обработчика mouseMoveEvent, где проверяются текущие координаты курсора и в случае их выхода за пределы виджета - они изменяются на допустимые. Возникает проблема, которую решить не могу: при медленном движении мыши курсор действительно удерживается в пределах виджета, но при быстром - выходит за его пределы. |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.4.2024, 3:35 |