Sur cette page

QMouseEvent Class

La classe QMouseEvent contient des paramètres qui décrivent un événement souris. Plus d'informations...

En-tête : #include <QMouseEvent>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Héritages : QSinglePointEvent

Fonctions publiques

QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())
QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &scenePos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())
Qt::MouseEventFlags flags() const

Description détaillée

Les événements souris se produisent lorsqu'un bouton de la souris est enfoncé ou relâché à l'intérieur d'un widget, ou lorsque le curseur de la souris est déplacé.

Les événements de déplacement de la souris ne se produisent que lorsque le bouton de la souris est enfoncé, à moins que le suivi de la souris n'ait été activé avec QWidget::setMouseTracking().

Qt Widgets saisit automatiquement la souris lorsqu'un bouton de souris est pressé à l'intérieur d'un widget ; le widget continuera à recevoir des événements de souris jusqu'à ce que le dernier bouton de souris soit relâché.

Un événement souris contient un drapeau d'acceptation spécial qui indique si le récepteur veut l'événement. Vous devez appeler ignore() si l'événement souris n'est pas géré par votre widget. Un événement souris est propagé dans la chaîne des widgets parents jusqu'à ce qu'un widget l'accepte avec accept(), ou qu'un filtre d'événement le consomme.

Remarque : si un événement de souris est transmis à un widget pour lequel Qt::WA_NoMousePropagation a été défini, cet événement de souris ne sera pas transmis plus haut dans la chaîne des widgets parents.

L'état des touches de modification du clavier peut être trouvé en appelant la fonction modifiers(), héritée de QInputEvent.

La fonction position() donne la position du curseur par rapport au widget ou à l'élément qui reçoit l'événement de souris. Si vous déplacez le widget à la suite de l'événement de la souris, utilisez la position globale renvoyée par globalPosition() pour éviter un mouvement de tremblement.

La fonction QWidget::setEnabled() peut être utilisée pour activer ou désactiver les événements souris et clavier pour un widget.

Réimplémentez les gestionnaires d'événements QWidget, QWidget::mousePressEvent(), QWidget::mouseReleaseEvent(), QWidget::mouseDoubleClickEvent() et QWidget::mouseMoveEvent() pour recevoir les événements souris dans vos propres widgets.

Voir également QWidget::setMouseTracking(), QWidget::grabMouse() et QCursor::pos().

Documentation sur les fonctions membres

QMouseEvent::QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())

Construit un objet d'événement de souris provenant de device.

Le paramètre type doit être QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick, ou QEvent::MouseMove.

Le paramètre localPos est la position du curseur de la souris par rapport au widget ou à l'élément récepteur. La position du curseur en coordonnées d'écran est spécifiée par globalPos. La position de la fenêtre est fixée à la même valeur que localPos. L'adresse button qui a provoqué l'événement est donnée comme une valeur de l'énumération Qt::MouseButton. Si l'événement type est MouseMove, le bouton approprié pour cet événement est Qt::NoButton. buttons est l'état de tous les boutons au moment de l'événement, modifiers l'état de tous les modificateurs de clavier.

QMouseEvent::QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &scenePos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, const QPointingDevice *device = QPointingDevice::primaryPointingDevice())

Construit un objet d'événement souris.

Le paramètre type doit être QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick, ou QEvent::MouseMove.

Les points localPos, scenePos et globalPos indiquent la position du curseur de la souris par rapport au widget ou à l'élément récepteur, à la fenêtre et à l'écran ou au bureau, respectivement.

L'adresse button à l'origine de l'événement est indiquée sous la forme d'une valeur de l'énumération Qt::MouseButton. Si l'événement type est MouseMove, le bouton approprié pour cet événement est Qt::NoButton. buttons est l'état de tous les boutons au moment de l'événement, modifiers est l'état de tous les modificateurs de clavier.

Qt::MouseEventFlags QMouseEvent::flags() const

Renvoie les indicateurs de l'événement souris.

Les indicateurs d'événements de la souris fournissent des informations supplémentaires sur un événement de la souris.

Voir aussi Qt::MouseEventFlag et QGraphicsSceneMouseEvent::flags().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.