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  ·  Classes  ·  Annotées  ·  Hiérarchie  ·  Fonctions  ·  Structure  · 

QMouseEvent Class Reference


The QMouseEvent class contains parameters that describe a mouse event. More...

#include <qevent.h>

Inherits QEvent.

List of all member functions.

Public Members

  • QMouseEvent ( Type type, const QPoint & pos, int button, int state ) 
  • QMouseEvent ( Type type, const QPoint & pos, const QPoint & globalPos, int button, int state ) 
  • const QPoint& pos () const
  • const QPoint& globalPos () const
  • int x () const
  • int y () const
  • int globalX () const
  • int globalY () const
  • ButtonState button () const
  • ButtonState state () const
  • ButtonState stateAfter () const

Detailed Description

The QMouseEvent class contains parameters that describe a mouse event.

Mouse events occur when a mouse button is pressed or released inside a widget, or when the mouse cursor is moved.

Mouse move events will only occur when some mouse button is pressed down, unless mouse tracking has been enabled with QWidget::setMouseTracking().

Qt automatically grabs the mouse when a mouse button is pressed inside a widget, and the widget will continue to receive mouse events until the last mouse button is released.

The functions pos(), x() and y() give the cursor position relative to the widget that receives the mouse event. If you move the widget as a result of the mouse event, use the global position returned by globalPos() to avoid a shaking motion.

The QWidget::setEnable() function can be used to enable or disable mouse and keyboard events for a widget.

The event handlers QWidget::mousePressEvent(), QWidget::mouseReleaseEvent(), QWidget::mouseDoubleClickEvent() and QWidget::mouseMoveEvent() receive mouse events.

See also QWidget::setMouseTracking(), QWidget::grabMouse() and QCursor::pos().

Examples: trivial/trivial.cpp qtimage/qtimage.cpp popup/popup.cpp movies/main.cpp drawlines/connect.cpp qmag/qmag.cpp scrollview/scrollview.cpp


Member Function Documentation

QMouseEvent::QMouseEvent ( Type type, const QPoint & pos, const QPoint & globalPos, int button, int state )

Constructs a mouse event object.

The type parameter must be QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick or QEvent::MouseMove.

The pos parameter specifies the position relative to the receiving widget; globalPos is the position in absolute coordinates; button specifies the ButtonState of the button that caused the event, which should be 0 if type is MouseMove; and state is the ButtonState at the time of the event.

QMouseEvent::QMouseEvent ( Type type, const QPoint & pos, int button, int state )

Constructs a mouse event object.

The type parameter must be one of QEvent::MouseButtonPress, QEvent::MouseButtonRelease, QEvent::MouseButtonDblClick or QEvent::MouseMove.

The pos parameter specifies the position relative to the receiving widget; button specifies the ButtonState of the button that caused the event, which should be 0 if type is MouseMove; state is the ButtonState at the time of the event.

The globalPos() is initialized to QCursor::pos(), which may not be appropriate. Use the other constructor to specify the global position explicitly.

ButtonState QMouseEvent::button () const

Returns the button that caused the event.

Possible return values are LeftButton, RightButton, MidButton and NoButton.

Note that the returned value is always NoButton (0) for mouse move events.

See also state().

Examples: movies/main.cpp

const QPoint & QMouseEvent::globalPos () const

Returns the global position of the mouse pointer at the time of the event. This is important on asynchronous window systems like X11: Whenever you move your widgets around in response to mouse evens, globalPos() can differ a lot from the current pointer position QCursor::pos(), and from QWidget::mapToGlobal( pos() ) .

See also globalX() and globalY().

int QMouseEvent::globalX () const

Returns the global X position of the mouse pointer at the time of the event

See also globalY() and globalPos().

int QMouseEvent::globalY () const

Returns the global Y position of the mouse pointer at the time of the event

See also globalX() and globalPos().

const QPoint & QMouseEvent::pos () const

Returns the position of the mouse pointer, relative to the widget that received the event.

If you move the widget as a result of the mouse event, use the global position returned by globalPos() to avoid a shaking motion.

See also x(), y() and globalPos().

Examples: qtimage/qtimage.cpp drawlines/connect.cpp qmag/qmag.cpp

ButtonState QMouseEvent::state () const

Returns the button state (a combination of mouse buttons and keyboard modifiers), i.e. what buttons and keys were being held depressed immediately before the event was generated.

Note that this means that for QEvent::MouseButtonPress and QEvent::MouseButtonDblClick, the flag for the button() itself will not be set in the state; while for QEvent::MouseButtonRelease, it will.

This value is mainly interesting for QEvent::MouseMove, for the other cases, button() is more useful.

The returned value is LeftButton, RightButton, MidButton, ShiftButton, ControlButton and AltButton OR'ed together.

See also button() and stateAfter().

Examples: movies/main.cpp

ButtonState QMouseEvent::stateAfter () const

Returns the state of buttons after the event.

See also state().

int QMouseEvent::x () const

Returns the X position of the mouse pointer, relative to the widget that received the event.

See also y() and pos().

Examples: scrollview/scrollview.cpp

int QMouseEvent::y () const

Returns the Y position of the mouse pointer, relative to the widget that received the event.

See also x() and pos().

Examples: scrollview/scrollview.cpp


Search the documentation, FAQ, qt-interest archive and more (uses www.trolltech.com):


This file is part of the Qt toolkit, copyright © 1995-2005 Trolltech, all rights reserved.

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 79
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. 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
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 6
Page suivante

Le Qt Developer Network au hasard

Logo

Les bases

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 2.3
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