Qt MouseMoveEvent срабатывает только при нажатии кнопки мыши
У меня тут странная проблема.
Я работаю над приложением, и в одном из моих классов я отслеживаю события мыши.
Самое странное, что мое событие перемещения мыши будет вызываться только при нажатии любой кнопки мыши.
Я даже не фильтрую для каких-либо нажатий кнопок в методе; сам метод даже не вызывается, если я не нажимаю на этот объект (тот, который его контролирует).
Что обычно приводит к такому типу ошибок?
Я не уверен, что это уместно, но у меня есть 2 разных вещи, контролирующие мои входные данные мыши: 1) основная программа, контролирующая глобальные координаты мыши, и 2) объект в моей программе, контролирующий координаты мыши внутри себя.
Edit
Итак, проблема должна быть в том, что событие перемещения мыши обычно используется, когда люди перетаскивают курсор вдоль экрана правильно?
Причина, по которой мне это не нужно, заключается в том, что я создаю собственное контекстное меню., и мне нужно знать, когда предмет завис.
1 ответ:
Оказывается, что я действительно не установил все в своем классе, чтобы включить отслеживание мыши. Я почему-то думал, что если бы сам класс был настроен на включение, мне не нужно было бы устанавливать его на все подобъекты, но теперь я вижу, что это вообще не имело бы никакого смысла.
Итак, просто чтобы прояснить мое решение: Элементы, необходимые для отслеживания положения курсора, должны иметь
setMouseTracking(true);
Comments