Sur cette page

QMouseEvent Class

La classe `QMouseEvent` contient des paramètres qui décrivent un événement de souris. En savoir plus...

En-tête : #include <QMouseEvent>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Hérite de : 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

Fonctions protégées

QMouseEvent(QMouseEvent &&)
QMouseEvent &operator=(QMouseEvent &&)
QMouseEvent &operator=(const QMouseEvent &other)

Description détaillée

Les événements de souris se produisent lorsqu'un bouton de 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 produiront que lorsqu'un bouton de souris est enfoncé, sauf si le suivi de la souris a été activé à l'aide de la fonction ` QWidget::setMouseTracking()`.

Qt capture automatiquement la souris lorsqu’un bouton de souris est enfoncé à 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 de souris contient un indicateur d’acceptation spécial qui indique si le récepteur souhaite recevoir l’événement. Vous devez appeler ` ignore()` si l’événement de souris n’est pas géré par votre widget. Un événement de souris est propagé vers le haut de la chaîne des widgets parents jusqu’à ce qu’un widget l’accepte avec ` accept()` ou qu’un filtre d’événements le consomme.

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

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

La fonction position() renvoie 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 d’un événement de souris, utilisez la position globale renvoyée par globalPosition() pour éviter tout mouvement saccadé.

La fonction ` QWidget::setEnabled()` permet d’activer ou de désactiver les événements de souris et de 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 de 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())

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

Le paramètre ` type ` doit prendre l'une des valeurs suivantes : ` QEvent::MouseButtonPress`, ` QEvent::MouseButtonRelease`, ` QEvent::MouseButtonDblClick` ou ` QEvent::MouseMove`.

localPos correspond à 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 définie sur la même valeur que ` localPos`. L’ button qui a provoqué l’événement est indiquée sous la forme d’une valeur issue de l’énumération ` Qt::MouseButton `. Si l’ type de l’événement est ` MouseMove`, le bouton correspondant à cet événement est ` Qt::NoButton`. ` buttons ` correspond à l’état de tous les boutons au moment de l’événement, tandis que ` modifiers ` correspond à l’état de tous les modificateurs du 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())

Crée un objet d'événement de souris.

Le paramètre ` type ` doit prendre l'une des valeurs suivantes : ` QEvent::MouseButtonPress`, ` QEvent::MouseButtonRelease`, ` QEvent::MouseButtonDblClick` ou ` QEvent::MouseMove`.

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

L’ button qui a provoqué l’événement est indiquée sous la forme d’une valeur issue de l’énumération Qt::MouseButton. Si l’événement type est de type « MouseMove », le bouton correspondant à cet événement est Qt::NoButton. buttons correspond à l’état de tous les boutons au moment de l’événement, tandis que modifiers correspond à l’état de tous les modificateurs du clavier.

[protected delete] QMouseEvent::QMouseEvent(QMouseEvent &&)

Crée par « move » une instance de ` QMouseEvent`. Cette fonction est supprimée.

Qt::MouseEventFlags QMouseEvent::flags() const

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

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

Voir également Qt::MouseEventFlag et QGraphicsSceneMouseEvent::flags().

[protected delete] QMouseEvent &QMouseEvent::operator=(QMouseEvent &&)

La commande « Move » affecte « other » à cette instance « QMouseEvent ». Cette fonction est supprimée.

[noexcept protected default] QMouseEvent &QMouseEvent::operator=(const QMouseEvent &other)

Attribue par copie l'other à cette instance d'QMouseEvent.

© 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.