crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Ограничить перемещение курсора
Delaar
  опции профиля:
сообщение 3.12.2011, 15:55
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 5
Регистрация: 3.12.2011
Пользователь №: 3040

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый день, форумчане. Подскажите, каким образом разрешить курсору перемещение
в пределах одного виджета.
На данный момент пробую подход с SetMouseTracking(true) у нужного виджета
и обработчика mouseMoveEvent, где проверяются текущие координаты курсора и в случае
их выхода за пределы виджета - они изменяются на допустимые.
Возникает проблема, которую решить не могу: при медленном движении мыши курсор
действительно удерживается в пределах виджета, но при быстром - выходит за его пределы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Dovgon
  опции профиля:
сообщение 4.12.2011, 9:26
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 92
Регистрация: 5.1.2011
Пользователь №: 2325

Спасибо сказали: 3 раз(а)




Репутация:   0  


так просто не получится, надо делать в MainWindow mouseMoveEvent, после сигналом передовать в BattleFieldButton передовать QMouseEvent *mouse::globalX();
В самом BattleFieldButton слоте делать гдето так
int xPos=parent_widget->pos().x()+parent_widget->rect().width(); пробуй.
if (globalX >= xPos)
        QCursor::setPos(kursor - QPoint(globalX-xPosOld+2,0 ) );

где xPosOld предвидущий globalX т.к движение не обязательно на 1 pix.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.2.2025, 5:13