Описание тега qmouseevent

Класс QMouseEvent содержит параметры, описывающие событие мыши.

Класс QMouseEvent содержит параметры, описывающие событие мыши.

События мыши происходят при нажатии или отпускании кнопки мыши внутри виджета или при перемещении курсора мыши.

События перемещения мыши будут происходить только при нажатии кнопки мыши, если отслеживание мыши не было включено с помощью QWidget::setMouseTracking().

Qt автоматически захватывает мышь при нажатии кнопки мыши внутри виджета; виджет будет продолжать получать события мыши до тех пор, пока не будет отпущена последняя кнопка мыши.

Событие мыши содержит специальный флаг принятия, который указывает, хочет ли получатель событие. Вы должны вызвать ignore (), если событие мыши не обрабатывается вашим виджетом. Событие мыши распространяется вверх по цепочке родительских виджетов до тех пор, пока виджет не примет его с помощью accept () или пока фильтр событий не поглотит его.

Примечание: если событие мыши распространяется на виджет, для которого был установлен Qt::WA_NoMousePropagation, это событие мыши не будет распространяться дальше по цепочке родительских виджетов.

Состояние клавиш-модификаторов клавиатуры можно узнать, вызвав функцию modifiers(), унаследованную от QInputEvent.

Функции pos(), x() и y() задают позицию курсора относительно виджета, который получает событие мыши. Если вы перемещаете виджет в результате события мыши, используйте глобальную позицию, возвращаемую globalPos(), чтобы избежать дрожащего движения.

Функцию QWidget::setEnabled() можно использовать для включения или отключения событий мыши и клавиатуры для виджета.

Переопределите обработчики событий QWidget, QWidget::mousePressEvent(), QWidget::mouseReleaseEvent(), QWidget::mouseDoubleClickEvent() и QWidget::mouseMoveEvent(), чтобы получать события мыши в ваших собственных виджетах.

Ссылка: http://qt-project.org/doc/qt-4.8/qmouseevent.html