Russian Qt Forum
Сентябрь 30, 2024, 14:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как получить координаты курсора в произвольный момент?  (Прочитано 11527 раз)
Кусай
Гость
« : Октябрь 06, 2010, 15:33 »

Знаю, что есть возможность получить координаты через mouseMoveEvent, но это работает, только если одна из клавиш нажата (может быть, не обязательно, но у меня событие срабатывает только при нажатых) и мышь двигалась хотя бы на пиксель.
А есть возможность получить координаты курсора глобально в любой момент, примерно как в winapi функцией getcursorpos, но средствами Qt? Мышь находится над формой.
Записан
crossly
Гость
« Ответ #1 : Октябрь 06, 2010, 15:45 »

QCursor??
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #2 : Октябрь 06, 2010, 16:00 »

http://doc.qt.nokia.com/4.7/qwidget.html#mouseTracking-prop
Записан
Denjs
Гость
« Ответ #3 : Октябрь 06, 2010, 16:03 »

Цитировать
координаты курсора глобально
QPoint QCursor::pos ()   [static]

Координаты относительно любого виджета можно пересчитать из глобальных влокальные и наоборот - только на вскидку не помню где это делается. чуть попозже найду.

а mouseTracking-prop начнет генерировать события перемещения курсора и отсылать их виджету. Разбор события типа QMouseEvent - своя песня (но не плохая))))

« Последнее редактирование: Октябрь 06, 2010, 16:09 от Denjs » Записан
Vanoor
Гость
« Ответ #4 : Октябрь 06, 2010, 21:52 »

Событие mouseEvent не высылается в обычной ситуации (без нажатой кнопки мыши), что бы не перегружать методы обработки без надобности, что бы событие высылалось без нажатия попробуйте в своем основном виджете поставить setMouseTracking ( bool enable ), координаты получаются просто вам уже отписались как.
Записан
Кусай
Гость
« Ответ #5 : Октябрь 07, 2010, 20:21 »

Всем спасибо)) Работает.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.164 секунд. Запросов: 23.