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  · 

QEvent

La classe QEvent est la classe de base de toutes les classes événementielles. Les objets événementiels contiennent des paramètres événementiels. Plus d'informations...

#include <QEvent>

Voir la position dans l'arbre des classes.

  
  

Héritage

Hérité par QAccessibleEvent, QActionEvent, QChildEvent, QCloseEvent, QCustomEvent, QDragLeaveEvent, QDropEvent, QDynamicPropertyChangeEvent, QFileOpenEvent, QFocusEvent, QGestureEvent, QGraphicsSceneEvent, QHelpEvent, QHideEvent, QHoverEvent, QIconDragEvent, QInputEvent, QInputMethodEvent, QMoveEvent, QPaintEvent, QResizeEvent, QShortcutEvent, QShowEvent, QStatusTipEvent, QTimerEvent, QWhatsThisClickedEvent et QWindowStateChangeEvent.

Description détaillée

La classe QEvent est la classe de base de toutes les classes événementielles. Les objets événementiels contiennent des paramètres événementiels.

La boucle événementielle principale de Qt (QCoreApplication::exec()) récupère les événements du système de fenêtrage natif à partir de la file événementielle, les traduit en QEvent et les envoie aux QObject.

En général, les événements proviennent du système de fenêtrage sous-jacent (spontaneous() retourne true), mais il est aussi possible d'envoyer manuellement les événements à l'aide de QCoreApplication::sendEvent() et de QCoreApplication::postEvent() (spontaneous() retourne false).

Les QObjects reçoivent des événements en ayant leur fonction QObject::event() appelée. La fonction peut être réimplémentée dans des sous-classes pour personnaliser la gestion événementielle et ajouter d'autre types événementiels ; QWidget::event() est un bon exemple. Par défaut, les événements sont envoyés aux gestionnaires événementiels comme QObject::timerEvent() et QWidget::mouseMoveEvent(). QObject::installEventFilter() permet d'intercepter les événements destinés à un objet pour un autre objet.

Le QEvent de base contient uniquement un paramètre de type événementiel et un drapeau (flag) d'« acceptation ». Le drapeau d'acceptation s'active avec accept() et se désactive avec ignore(). Il est activé par défaut mais ne comptez pas dessus, car les sous-classes peuvent choisir de le désactiver dans leurs constructeurs.

Les sous-classes de QEvent contiennent des paramètres supplémentaires qui décrivent l'événement particulier.

Voir aussi QObject::event(), QObject::installEventFilter(), QWidget::event(), QCoreApplication::sendEvent(), QCoreApplication::postEvent() et QCoreApplication::processEvents().

Type

enum QEvent::Type

Ce type d'énumération définit les types événementiels valides dans Qt. Les types événementiels et les classes spécialisées pour chaque type sont les suivants :

Constante Valeur Description
QEvent::None   N'est pas un événement.
QEvent::AccessibilityDescription 130 Utilisé pour demander les textes descriptifs pour l'accessibilité (QAccessibleEvent).
QEvent::AccessibilityHelp 119 Utilisé pour demander les textes d'aide pour l'accessibilité (QAccessibleEvent).
QEvent::AccessibilityPrepare 86 Les informations sur l'accessibilité sont demandées.
QEvent::ActionAdded 114 Une nouvelle action a été ajoutée (QActionEvent).
QEvent::ActionChanged 113 Une action a été changée (QActionEvent).
QEvent::ActionRemoved 115 Une action a été supprimée (QActionEvent).
QEvent::ActivationChange 99 L'activation de la fenêtre du widget de haut-niveau a changé.
QEvent::ApplicationActivate 121 L'application a été mise à la disposition de l'utilisateur.
QEvent::ApplicationActivated ApplicationActivate Cette énumération a été dépréciée. Préférer ApplicationActivate.
QEvent::ApplicationDeactivate 122 L'application a été suspendue et est indisponible pour l'utilisateur.
QEvent::ApplicationFontChange 36 La police par défaut de l'application a changé.
QEvent::ApplicationLayoutDirectionChange 37 Le layout par défaut de l'application a changé.
QEvent::ApplicationPaletteChange 38 La palette par défaut de l'application a changé.
QEvent::ApplicationWindowIconChange 35 L'icône de l'application a changé.
QEvent::ChildAdded 68 Un objet gagne un enfant (QChildEvent).
QEvent::ChildInserted 70 Un objet gagne un enfant (QChildEvent). Uniquement Qt3Support. Préférer ChildAdded.
QEvent::ChildPolished 69 Un widget enfant a été poli (QChildEvent).
QEvent::ChildRemoved 71 Un objet perd un enfant (QChildEvent).
QEvent::Clipboard 40 Le contenu du presse-papier a changé (QClipboardEvent).
QEvent::Close 19 Le widget a été fermé (QCloseEvent).
QEvent::CloseSoftwareInputPanel 200 Un widget veut fermer le panneau d'entrée logicielle (SIP, software input panel).
QEvent::ContentsRectChange 178 Les marges du rectangle du contenu du widget ont changé.
QEvent::ContextMenu 82 Menu contextuel surgissant (QContextMenuEvent).
QEvent::CursorChange 183 Le curseur du widget a changé.
QEvent::DeferredDelete 52 L'objet sera supprimé après avoir été nettoyé.
QEvent::DragEnter 60 Le curseur entre dans un widget pendant une opération de glisser-déposer (QDragEnterEvent).
QEvent::DragLeave 62 Le curseur quitte un widget pendant une opération de glisser-déposer (QDragLeaveEvent).
QEvent::DragMove 61 Une opération de glisser-déposer est en cours (QDragMoveEvent).
QEvent::Drop 63 Une opération de glisser-déposer est achevée (QDropEvent).
QEvent::EnabledChange 98 L'état d'activation du widget a changé.
QEvent::Enter 10 La souris entre dans les limites du widget.
QEvent::EnterEditFocus 150 Un widget éditeur gagne le focus pour l'édition.
QEvent::EnterWhatsThisMode 124 Envoie aux widgets de plus haut niveau le moment où l'application entre dans le mode « What's This? ».
QEvent::FileOpen 116 Requête d'ouverture de fichier (QFileOpenEvent).
QEvent::FocusIn 8 Le widget gagne le focus du clavier (QFocusEvent).
QEvent::FocusOut 9 Le widget perd le focus du clavier (QFocusEvent).
QEvent::FontChange 97 La police du widget a changé.
QEvent::GrabKeyboard 188 L'item gagne la saisie du clavier (uniquement QGraphicsItem).
QEvent::GrabMouse 186 L'item gagne la saisie de la souris (uniquement QGraphicsItem).
QEvent::GraphicsSceneContextMenu 159 Le menu contextuel surgissant survole une QGraphicsScene (QGraphicsSceneContextMenuEvent).
QEvent::GraphicsSceneDragEnter 164 Le curseur entre dans une QGraphicsScene pendant une opération de glisser-déposer (QGraphicsSceneDragDropEvent).
QEvent::GraphicsSceneDragLeave 166 Le curseur sort d'une QGraphicsScene pendant une opération de glisser-déposer (QGraphicsSceneDragDropEvent).
QEvent::GraphicsSceneDragMove 165 Une opération de glisser-déposer est en cours sur une QGraphicsScene (QGraphicsSceneDragDropEvent).
QEvent::GraphicsSceneDrop 167 Une opération de glisser-déposer est achevée sur une QGraphicsScene (QGraphicsSceneDragDropEvent).
QEvent::GraphicsSceneHelp 163 L'utilisateur demande de l'aide pour une QGraphicsScene (QHelpEvent).
QEvent::GraphicsSceneHoverEnter 160 Le curseur de la souris entre dans un item planant dans une QGraphicsScene (QGraphicsSceneHoverEvent).
QEvent::GraphicsSceneHoverLeave 162 Le curseur de la souris sort d'un item planant dans une QGraphicsScene (QGraphicsSceneHoverEvent).
QEvent::GraphicsSceneHoverMove 161 Le curseur de la souris bouge dans un item planant dans une QGraphicsScene (QGraphicsSceneHoverEvent).
QEvent::GraphicsSceneMouseDoubleClick 158 La souris est pressée encore une fois (double clic) dans une QGraphicsScene (QGraphicsSceneMouseEvent).
QEvent::GraphicsSceneMouseMove 155 La souris est dans une QGraphicsScene (QGraphicsSceneMouseEvent).
QEvent::GraphicsSceneMousePress 156 La souris est pressée dans une QGraphicsScene (QGraphicsSceneMouseEvent).
QEvent::GraphicsSceneMouseRelease 157 La souris est relâchée dans une QGraphicsScene (QGraphicsSceneMouseEvent).
QEvent::GraphicsSceneMove 182 Le widget a été déplacé (QGraphicsSceneMoveEvent).
QEvent::GraphicsSceneResize 181 Le widget a été redimensionné (QGraphicsSceneResizeEvent).
QEvent::GraphicsSceneWheel 168 La roulette de la souris a été utilisée dans une QGraphicsScene (QGraphicsSceneWheelEvent).
QEvent::Hide 18 Le widget a été caché (QHideEvent).
QEvent::HideToParent 27 Un widget enfant a été caché.
QEvent::HoverEnter 127 Le curseur de la souris entre dans un widget planant (QHoverEvent).
QEvent::HoverLeave 128 Le curseur de la souris sort d'un widget planant (QHoverEvent).
QEvent::HoverMove 129 Le curseur de la souris se déplace dans un widget planant (QHoverEvent).
QEvent::IconDrag 96 L'icône principale d'une fenêtre a été déposée au loin (QIconDragEvent).
QEvent::IconTextChange 101 Le texte de l'icône du widget a été changé.
QEvent::InputMethod 83 Une méthode de saisie est utilisée (QInputMethodEvent).
QEvent::KeyPress 6 Une touche a été pressée (QKeyEvent).
QEvent::KeyRelease 7 Une touche a été relâchée (QKeyEvent).
QEvent::LanguageChange 89 La traduction de l'application a été changée.
QEvent::LayoutDirectionChange 90 La direction des layouts a changé.
QEvent::LayoutRequest 76 Le layout du widget doit être refait.
QEvent::Leave 11 La souris quitte les frontières du widget.
QEvent::LeaveEditFocus 151 Un widget d'édition perd le focus.
QEvent::LeaveWhatsThisMode 125 Envoie aux widgets de plus haut niveau le moment où l'application sort du mode « What's This? ».
QEvent::LocaleChange 88 La locale du système a changé.
QEvent::NonClientAreaMouseButtonDblClick 176 Un double clic de la souris a eu lieu en dehors de la zone cliente.
QEvent::NonClientAreaMouseButtonPress 174 Un bouton de la souris a été enfoncé en dehors de la zone cliente.
QEvent::NonClientAreaMouseButtonRelease 175 Un bouton de la souris a été relâché en dehors de la zone cliente.
QEvent::NonClientAreaMouseMove 173 Un mouvement de la souris a eu lieu en dehors de la zone cliente.
QEvent::MacSizeChange 177 L'utilisateur a changé la taille de ses widgets (uniquement sous Mac OS X).
QEvent::MenubarUpdated 153 La barre de menus de la fenêtre a été mise à jour.
QEvent::MetaCall 43 Une méthode d'invocation asynchrone via QMetaObject::invokeMethod().
QEvent::ModifiedChange 102 L'état de modification des widgets a été changé.
QEvent::MouseButtonDblClick 4 La souris a été à nouveau pressée (QMouseEvent).
QEvent::MouseButtonPress 2 La souris a été pressée (QMouseEvent).
QEvent::MouseButtonRelease 3 La souris a été relâchée (QMouseEvent).
QEvent::MouseMove 5 La souris a été déplacée (QMouseEvent).
QEvent::MouseTrackingChange 109 L'état du suivi de la souris a changé.
QEvent::Move 13 La position du widget a changé (QMoveEvent).
QEvent::Paint 12 Mise à jour de l'écran nécessaire (QPaintEvent).
QEvent::PaletteChange 39 La palette du widget a changé.
QEvent::ParentAboutToChange 131 Le widget parent est sur le point de changer.
QEvent::ParentChange 21 Le widget parent a changé.
QEvent::Polish 75 Le widget est poli.
QEvent::PolishRequest 74 Le widget devrait être poli.
QEvent::QueryWhatsThis 123 Le widget devrait accepter cet événement s'il a une aide « What's This? ».
QEvent::RequestSoftwareInputPanel 199 Un widget veut ouvrir un paneau d'entrée logicielle (SIP, software input panel).
QEvent::Resize 14 La taille du widget a changé (QResizeEvent).
QEvent::Shortcut 117 Touche enfoncée dans un widget enfant pour la prise en charge des raccourcis clavier (QShortcutEvent).
QEvent::ShortcutOverride 51 Touche enfoncée dans un widget enfant, pour surcharger la prise en charge des raccourcis clavier (QKeyEvent).
QEvent::Show 17 Le widget a été affiché à l'écran (QShowEvent).
QEvent::ShowToParent 26 Un widget enfant a été exposé.
QEvent::SockAct 50 Socket activé, utiliser l'implémentation QSocketNotifier.
QEvent::StateMachineSignal 192 Un signal qui doit être délivré à une machine à état (QStateMachine::SignalEvent).
QEvent::StateMachineWrapped 193 L'événement est un wrapper pour (contient) un autre événement (QStateMachine::WrappedEvent).
QEvent::StatusTip 112 Un indice sur l'état est demandé (QStatusTipEvent).
QEvent::StyleChange 100 Le style du widget a été changé.
QEvent::TabletMove 87 La tablette Wacom a été déplacée (QTabletEvent).
QEvent::TabletPress 92 La tablette Wacom a été pressée (QTabletEvent).
QEvent::TabletRelease 93 La tablette Wacom a été relâchée (QTabletEvent).
QEvent::OkRequest 94 La décoration du bouton OK a été pressée. Pris en charge uniquement sous Windows CE.
QEvent::TabletEnterProximity 171 La tablette Wacom entre dans un événement de proximité (QTabletEvent), envoyé à QApplication.
QEvent::TabletLeaveProximity 172 La tablette Wacom quitte un événement de proximité (QTabletEvent), envoyé à QApplication.
QEvent::Timer 1 Événements ordinaires de minuterie (QTimerEvent).
QEvent::ToolBarChange 120 Le bouton de la barre d'outil est basculé sur Mac OS X.
QEvent::ToolTip 110 Une boîte d'aide a été demandée (QHelpEvent).
QEvent::ToolTipChange 184 La boîte d'aide du widget a changé.
QEvent::UngrabKeyboard 189 L'item perd la saisie du clavier (uniquement QGraphicsItem).
QEvent::UngrabMouse 187 L'item perd la saisie de la souris (uniquement QGraphicsItem).
QEvent::UpdateLater 78 Le widget devrait être mis dans la queue pour être repeint plus tard.
QEvent::UpdateRequest 77 Le widget doit être repeint.
QEvent::WhatsThis 111 Le widget devrait montrer son aide « What's This? » (QHelpEvent).
QEvent::WhatsThisClicked 118 Un lien dans l'aide « What's This? » d'un widget a été cliqué.
QEvent::Wheel 31 La roulette de la souris a été utilisée (QWheelEvent).
QEvent::WinEventAct 132 Un événement d'activation spécifique a Windows a eu lieu.
QEvent::WindowActivate 24 La fenêtre a été activée.
QEvent::WindowBlocked 103 La fenêtre est bloquée par une boîte de dialogue.
QEvent::WindowDeactivate 25 La fenêtre a été désactivée.
QEvent::WindowIconChange 34 L'icône de la fenêtre a changé.
QEvent::WindowStateChange 105 L'état de la fenêtre(réduit, agrandit ou plein écran) a changé. (QWindowStateChangeEvent).
QEvent::WindowTitleChange 33 Le titre de la fenêtre a changé.
QEvent::WindowUnblocked 104 La fenêtre est débloquée après la sortie d'une boîte de dialogue modale.
QEvent::ZOrderChange 126 Le z-order du widget a changé. L'événement n'est jamais envoyé à une fenêtre de haut niveau.
QEvent::KeyboardLayoutChange 169 La disposition du clavier a changé.
QEvent::DynamicPropertyChange 170 Une propriété dynamique a été ajoutée, changée ou enlevée de l'objet.
QEvent::TouchBegin 194 Début d'une séquence d'événements de toucher sur écran et/ou de track-pad (QTouchEvent).
QEvent::TouchUpdate 195 Événement tactile (QTouchEvent).
QEvent::TouchEnd 196 Fin de la séquence tactile (QTouchEvent).
QEvent::WinIdChange 203 L'identifiant du système de fenêtrage pour ce widget natif a changé.
QEvent::Gesture 198 Un geste a eu lieu (QGestureEvent).
QEvent::GestureOverride 202 Un remplacement de geste a eu lieu (QGestureEvent).

Les événements utilisateurs devraient avoir des valeurs comprises entre User et MaxUser :

Constante Valeur Description
QEvent::User 1000 Événement défini par l'utilisateur.
QEvent::MaxUser 65535 Dernier identifiant événementiel utilisateur.

Pour plus de commodité, vous pouvez utiliser la fonction registerEventType() pour enregistrer et réserver le type événementiel personnalisé dans votre application. Cela vous permettra d'éviter de réutiliser accidentellement un type événementiel personnalisé déjà utilisé ailleurs dans votre application.

Propriété

accepted : bool

Le drapeau accepted de l'objet événementiel.

Le réglage du paramètre accepted indique que le receveur événementiel veut l'événement. Les événements non désirés peuvent se propager au widget parent. Par défaut, isAccepted() est défini à true mais ne vous fiez pas à lui, vu que les sous-classes peuvent choisir de l'infirmer dans leur constructeur.

Pour plus de commodité, le drapeau accepted peut également être accepté avec accept() et désactivé avec ignore().

Fonctions d'accès

bool isAccepted () const

void setAccepted ( bool accepted )

Fonctions membres

QEvent::QEvent ( Type type )

Construit un objet événementiel du type type.

QEvent::~QEvent () [virtual]

Détruit l'événement. S'il a été envoyé, il sera retiré de la liste des événements à poster.

void QEvent::accept ()

Active le drapeau accepted de l'objet événementiel, l'équivalent d'un appel à setAccepted(true).

Activer le paramètre accepted indique que le récepteur de l'événement souhaite le traiter. Les événements non désirés peuvent être propagés au widget parent.

Voir aussi ignore().

void QEvent::ignore ()

Désactive le drapeau accepted de l?objet événementiel, l?équivalent d'un appel à setAccepted(false).

Désactiver le paramètre accepted indique que le récepteur événementiel refuse l'événement. Les événements non désirés peuvent être propagés au widget parent.

Voir aussi accept().

int QEvent::registerEventType ( int hint = -1 ) [static]

Enregistre et retourne le type de l'événement personnalisé. L'indice hint fourni sera utilisé s'il est disponible, sinon une valeur comprise entre QEvent::User et QEvent::MaxUser qui n'a pas encore été enregistrée sera renvoyée. L'indice est ignoré si sa valeur n'est pas comprise entre QEvent::User et QEvent::MaxUser.

Note : cette fonction est thread-safe.

Cette fonction a été introduite dans Qt 4.4.

bool QEvent::spontaneous () const

Retourne true si l'événement provient de l'extérieur de l'application (un événement système), sinon retourne false.

La valeur de retour de cette fonction n'est pas définie pour les événements de peinture.

Type QEvent::type () const

Retourne le type événementiel.

Remerciements

Merci à Abdelhafid Hafidi pour la traduction, à Thibaut Cuvelier pour la traduction et la relecture ainsi qu'à Jonathan Courtois et Maxime Gault pour la 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. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 27
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. 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
  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 blog Digia au hasard

Logo

Créer des applications avec un style Metro avec Qt, exemples en QML et C++, un article de Digia Qt traduit par Thibaut Cuvelier

Le blog Digia est l'endroit privilégié pour la communication sur l'édition commerciale de Qt, où des réponses publiques sont apportées aux questions les plus posées au support. 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