Захватить движение мыши - PullRequest
0 голосов
/ 21 мая 2009

Я пишу немного о себе на ruby, используя qt. Как получить доступ к глобальным движениям мыши и событиям ввода с клавиатуры?

Ответы [ 3 ]

3 голосов
/ 22 мая 2009

Если вам нужно отслеживать движение мыши, когда ни одна кнопка не нажата, вы захотите включить отслеживание мыши на виджете, на котором вы хотите отслеживать мышь. Функция QWidget::setMouseTracking(), доступная для всех QWidget с, позволит вам сделать это.

Чтобы захватить движения мыши, вам нужно захватить QMouseMoveEvent с. Есть два способа сделать это:

  • Если вы определяете свой собственный виджет, то переопределите QWidget::mouseMoveEvent().
  • Если вы используете стандартный виджет, то вы можете создать класс фильтра событий и установить фильтр событий на виджет, который вы хотите отслеживать движения мыши. См. QObject::installEventFilter().

Для получения официальной документации по Qt перейдите по ссылкам на интересующие функции.

2 голосов
/ 21 мая 2009

Используйте QWidget :: grabMouse () и обратите внимание, что это очень опасная функция, используйте ее с осторожностью.

0 голосов
/ 24 мая 2009

Для позиции мыши вы пробовали QCursor :: pos () ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...