crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Как осуществить захват мышки?
trdm
  опции профиля:
сообщение 4.9.2008, 22:20
Сообщение #1


Дмитрий Трошин
****

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

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




Репутация:   6  


Можно ли заставить мышку курсировать только внутри определенного ректа?
вроде была такая функциёвина как captureMouse();
или я глючу?

Сообщение отредактировал trdm - 4.9.2008, 22:22
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 5.9.2008, 9:29
Сообщение #2


Дмитрий Трошин
****

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

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




Репутация:   6  


никто не знает? :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sploid
  опции профиля:
сообщение 5.9.2008, 9:41
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 26.2.2008
Из: Москва
Пользователь №: 106

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




Репутация:   1  


есть функция void QWidget::grabMouse (), но она просто все события от мыши передает определенному окну.

Что бы заставить мышь курсирует внутри окна, можно вызвать для этого окна void QWidget::grabMouse (), затем отлавливать передвижение мыши и если мышь уехала за пределы окна передвигать курсор внутрь окна. Думаю это не должно быть сложно в реализации.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 5.9.2008, 10:57
Сообщение #4


Дмитрий Трошин
****

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

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




Репутация:   6  


Цитата(sploid @ 5.9.2008, 10:41) *
пределы окна передвигать курсор внутрь окна

А как? еще не сталкивался с методами, которые могут такое делать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ЙаМайскЫйПчОЛ
  опции профиля:
сообщение 10.9.2008, 12:21
Сообщение #5


Участник
**

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

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




Репутация:   5  


Я делал это руками обработкой события, когда мышка выходила за пределы Видгета, принудительно загонял её обратно... через опу конечно, но..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 10.9.2008, 13:06
Сообщение #6


Дмитрий Трошин
****

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

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




Репутация:   6  


Цитата(ЙаМайскЫйПчОЛ @ 10.9.2008, 13:21) *
Я делал это руками обработкой события, когда мышка выходила за пределы Видгета, принудительно загонял её обратно... через опу конечно, но..

А какие функции/методу пользовал?
Можно посмотреть на код?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 10.9.2008, 22:41
Сообщение #7


Дмитрий Трошин
****

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

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




Репутация:   6  


блин, похвастаться народ любит...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ЙаМайскЫйПчОЛ
  опции профиля:
сообщение 11.9.2008, 7:57
Сообщение #8


Участник
**

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

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




Репутация:   5  


QMouseEvent
QCursor->setPos()
QWidget->grabMouse()
QWidget->pos()

Связка этого.
Это было 1 год назад, сырцы с винтом сломались)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 11.9.2008, 12:37
Сообщение #9


Дмитрий Трошин
****

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

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




Репутация:   6  


ВООООООТ!!!! и не нужен код, просто пните в нужном направлении и все. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 31.10.2020, 17:18