Шаг 66.
Библиотека PyQt5. Обработка сигналов и событий. События мыши. Нажатие и отпускание кнопки мыши

    На этом шаге мы рассмотрим методы для обработки этих событий.

    При нажатии и отпускании кнопки мыши вызываются следующие методы:

    Через параметр <event> доступен экземпляр класса QMouseEvent, хранящий дополнительную информацию о событии. Он поддерживает такие методы:

    Если событие было успешно обработано, следует вызвать метод accept() объекта события. Чтобы родительский компонент мог получить событие, вместо метода accept() нужно вызвать метод ignore().

    Если у компонента атрибут WA_NoMousePropagation класса Qtcore.Qt установлен в True, событие мыши не будет передаваться родительскому компоненту. Значение атрибута можно изменить с помощью метода setAttribute(), вызванного у этого компонента:

  button.setAttribute(QtCore.Qt.WA_NoMousePropagation, True)

    По умолчанию событие мыши перехватывает компонент, над которым был произведен щелчок мышью. Чтобы перехватывать нажатие и отпускание мыши вне компонента, следует захватить мышь вызовом метода grabMouse(). Освободить захваченную ранее мышь позволяет метод releaseMouse().

    На следующем шаге мы рассмотрим перемещение указателя мыши.




Предыдущий шаг Содержание Следующий шаг