Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

Qt

Choisissez la catégorie, puis la rubrique :

Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QMouseEvent

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

#include <QMouseEvent>

Voir la position dans l'arbre des classes.

Héritage

Hérite de QInputEvent.

Description détaillée

La classe QMouseEvent comporte des paramètres qui décrivent un évènement de souris.

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

Les évènements de mouvement de souris surviennent uniquement lorsqu'un bouton de la souris est enfoncé, à moins que le suivit de la souris ait été activé par le biais de QWidget::setMouseTracking().

Qt saisit automatiquement la souris quand un de ses boutons est pressé à l'intérieur d'un widget, qui va continuer de recevoir des évènements de souris jusqu'à ce que le dernier bouton enfoncé de la souris soit relâché.

Un évènement de souris contient un drapeau spécial d'admission qui indique si le receveur veut de l'évènement. Vous devez appeler ignore() si l'évènement n'est pas géré par votre widget. Un évènement de souris est propagé dans la chaîne des widgets parents jusqu'à ce que l'un d'entre eux l'accepte avec accept(), ou bien jusqu'à ce qu'un filtre d'évènements le prenne en charge.

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

L'état des modificateurs peut être obtenu par la fonction modifiers(), héritée de QInputEvent.

Les fonctions pos(), x() et y() donnent une position de curseur relative au widget recevant l'évènement. Si vous déplacez le widget suite à un évènement de souris, utilisez plutôt la position globale retournée par globalPos() pour éviter un mouvement saccadé.

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

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

QCursor::pos()

Voir aussi QWidget::setMouseTracking() et QWidget::grabMouse().

Fonctions membres

QMouseEvent::QMouseEvent ( Type type, const QPoint & position, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers )

Construit un objet d'évènement de souris.

Le paramètre type doit être l'un des paramètres suivants : QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick ou QEvent::MouseMove.

La position est la position du curseur de la souris, relative au widget récepteur. Le bouton button qui entraine l'évènement est donné en tant que valeur depuis l'énumération Qt::MouseButton. Si le type de l'évènement est MouseMove, le bouton approprié pour l'évènement est Qt::NoButton. Les états du clavier de la souris au moment de l'évènement sont spécifiés par les paramètres buttons et modifiers.

La globalPos() est initialisée à QCursor::pos(), qui peut ne pas être appropriée. Utilisez l'autre constructeur pour spécifier explicitement la position globale.

QMouseEvent::QMouseEvent ( Type type, const QPoint & pos, const QPoint & globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers )

Construit un objet d'évènement de souris.

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

La position est la position du curseur de la souris, relative au widget récepteur. La position du curseur dans les coordonnées globales est spécifiée par globalPos. Le bouton button qui entraine l'évènement est donné en tant que valeur depuis l'énumération Qt::MouseButton. Si le type de l'évènement est MouseMove, le bouton approprié pour l'évènement est Qt::NoButton. Le paramètre buttons est l'état de tous les boutons au moment de l'évènement, et modifiers, l'état de tous les modificateurs.

Qt::MouseButton QMouseEvent::button () const

Retourne le bouton ayant causé l'évènement.

Notez que la valeur retournée est toujours Qt::NoButton pour les évènements de mouvement de souris.

Voir aussi buttons() et Qt::MouseButton.

Qt::MouseButtons QMouseEvent::buttons () const

Retourne l'état des boutons au moment où l'évènement a été généré. L'état des boutons est une combinaison de Qt::LeftButton, Qt::RightButton, Qt::MidButton avec l'opérateur OU. Pour les évènements de mouvement de souris, c'est la totalité des boutons qui sont enfoncés. Pour les évènements d'enfoncement de souris et de double-clic, cela inclut le bouton ayant causé l'évènement. Pour les évènements de relâchement de souris, cela exclut le bouton ayant causé l'évènement.

Voir aussi button() et Qt::MouseButton.

const QPoint & QMouseEvent::globalPos () const

Retourne la position globale du curseur au moment de l'évènement. C'est important sous des systèmes de fenêtrage asynchrones comme X11. Chaque fois que vous déplacez vos widgets en réponse à des évènements de souris, globalPos() peut différer grandement de la position actuelle du curseur QCursor::pos(), et de QWidget::mapToGlobal(pos()).

Voir aussi globalX() et globalY().

int QMouseEvent::globalX () const

Retourne la position globale x du curseur de la souris au moment de l'évènement.

Voir aussi globalY() et globalPos().

int QMouseEvent::globalY () const

Retourne la position globale y du curseur de la souris au moment de l'évènement.

Voir aussi globalX() et globalPos().

const QPoint & QMouseEvent::pos () const

Retourne la position du curseur de la souris, relative au widget récepteur de l'évènement.

Si, en résultat à l'évènement de souris, vous déplacez le widget, utilisez plutôt la position globale retournée par globalPos() pour éviter un mouvement saccadé.

Voir aussi x(), y() et globalPos().

QPointF QMouseEvent::posF () const

Retourne la position du curseur de la souris en tant que QPointF, relative au widget récepteur de l'évènement.

Si, en résultat à l'évènement de souris, vous déplacez le widget, utilisez plutôt la position globale retournée par globalPos() pour éviter un mouvement saccadé.

Cette fonction a été introduite dans Qt 4.4.

Voir aussi x(), y(), pos() et globalPos().

int QMouseEvent::x () const

Retourne la position x du curseur de la souris, relative au widget récepteur de l'évènement.

Voir aussi y() et pos().

int QMouseEvent::y () const

Retourne la position y du curseur de la souris, relative au widget récepteur de l'évènement.

Voir aussi x() et pos().

Remerciements

Merci à Louis du Verdier pour la traduction et à Jonathan Courtois ainsi qu'à Claude Leloup pour leur relecture !

Warning: include(): https:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/developpez/www/developpez-com/upload/qt/doc/bs.php on line 4 Warning: include(https://qt.developpez.com/index/rightColumn): failed to open stream: no suitable wrapper could be found in /home/developpez/www/developpez-com/upload/qt/doc/bs.php on line 4 Warning: include(): Failed opening 'https://qt.developpez.com/index/rightColumn' for inclusion (include_path='.:/usr/php53/lib/php') in /home/developpez/www/developpez-com/upload/qt/doc/bs.php on line 4
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.7
Copyright © 2019 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur, une redirection cassée ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -

Partenaire : Hébergement Web