Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
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 !

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. Microsoft ouvre aux autres compilateurs C++ AMP, la spécification pour la conception d'applications parallèles C++ utilisant le GPU 22
  2. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  3. RIM : « 13 % des développeurs ont gagné plus de 100 000 $ sur l'AppWord », Qt et open-source au menu du BlackBerry DevCon Europe 0
  4. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 12
  5. BlackBerry 10 : premières images du prochain OS de RIM qui devrait intégrer des widgets et des tuiles inspirées de Windows Phone 0
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
Page suivante

Le Qt Developer Network au hasard

Logo

Compiler l'add-in Qt de Visual Studio

Le Qt Developer Network est un réseau de développeurs Qt anglophone, où ils peuvent partager leur expérience sur le framework. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

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 © 2012 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 ? Un bug ? 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 !
 
 
 
 
Partenaires

Hébergement Web