Sur cette page

QEvent Class

La classe QEvent est la classe de base de toutes les classes d'événements. Les objets d'événement contiennent des paramètres d'événement. En savoir plus...

Types publics

enum Type { None, ActionAdded, ActionChanged, ActionRemoved, ActivationChange, …, MaxUser }

Propriétés

Fonctions publiques

QEvent(QEvent::Type type)
virtual ~QEvent()
void accept()
(since 6.0) virtual QEvent *clone() const
void ignore()
bool isAccepted() const
(since 6.0) bool isInputEvent() const
(since 6.0) bool isPointerEvent() const
(since 6.0) bool isSinglePointEvent() const
virtual void setAccepted(bool accepted)
bool spontaneous() const
QEvent::Type type() const

Membres publics statiques

int registerEventType(int hint = -1)

Fonctions protégées

QEvent(QEvent &&)
QEvent &operator=(QEvent &&)

Description détaillée

La boucle d'événements principale de Qt (QCoreApplication::exec()) récupère les événements natifs du système de fenêtrage à partir de la file d'attente d'événements, les convertit en QEvents, puis envoie ces événements convertis aux objets QObject.

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

QObjects reçoivent des événements lorsque leur fonction ` QObject::event()` est appelée. Cette fonction peut être réimplémentée dans des sous-classes pour personnaliser la gestion des événements et ajouter des types d’événements supplémentaires ; ` QWidget::event()` en est un exemple notable. Par défaut, les événements sont distribués à des gestionnaires d’événements tels que ` QObject::timerEvent()` et ` QWidget::mouseMoveEvent()`. La fonction ` QObject::installEventFilter()` permet à un objet d’intercepter des événements destinés à un autre objet.

L'objet QEvent de base ne contient qu’un paramètre de type d’événement et un indicateur « accept ». Cet indicateur est activé par ` accept()` et désactivé par ` ignore()`. Il est activé par défaut, mais il ne faut pas s’y fier, car les sous-classes peuvent choisir de le désactiver dans leur constructeur.

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

Voir également QObject::event(), QObject::installEventFilter(), QCoreApplication::sendEvent(), QCoreApplication::postEvent() et QCoreApplication::processEvents().

Documentation sur les types de membres

enum QEvent::Type

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

ConstanteValeurDescription
QEvent::None0Ce n'est pas un événement.
QEvent::ActionAdded114Une nouvelle action a été ajoutée (QActionEvent).
QEvent::ActionChanged113Une action a été modifiée (QActionEvent).
QEvent::ActionRemoved115Une action a été supprimée (QActionEvent).
QEvent::ActivationChange99L'état d'activation de la fenêtre de niveau supérieur d'un widget a changé.
QEvent::ApplicationActivate121Cette énumération est obsolète. Utilisez plutôt ApplicationStateChange.
QEvent::ApplicationActivatedApplicationActivateCette énumération est obsolète. Utilisez plutôt ApplicationStateChange.
QEvent::ApplicationDeactivate122Cette énumération est obsolète. Utilisez plutôt ApplicationStateChange.
QEvent::ApplicationFontChange36La police par défaut de l'application a changé.
QEvent::ApplicationLayoutDirectionChange37Le sens de mise en page par défaut de l'application a changé.
QEvent::ApplicationPaletteChange38La palette par défaut de l'application a changé.
QEvent::ApplicationStateChange214L'état de l'application a changé.
QEvent::ApplicationWindowIconChange35L'icône de l'application a changé.
QEvent::ChildAdded68Un objet se voit attribuer un enfant (QChildEvent).
QEvent::ChildPolished69Un widget enfant est mis en valeur (QChildEvent).
QEvent::ChildRemoved71Un objet perd un enfant (QChildEvent).
QEvent::ChildWindowAdded (since Qt 6.7)223Une fenêtre enfant a été ajoutée à la fenêtre (QChildWindowEvent).
QEvent::ChildWindowRemoved (since Qt 6.7)224Une fenêtre enfant a été supprimée de la fenêtre (QChildWindowEvent).
QEvent::Clipboard40Le contenu du presse-papiers a changé.
QEvent::Close19Le widget a été fermé (QCloseEvent).
QEvent::CloseSoftwareInputPanel200Un widget souhaite fermer le panneau de saisie logiciel (SIP).
QEvent::ContentsRectChange178Les marges du rectangle de contenu du widget ont changé.
QEvent::ContextMenu82Menu contextuel (QContextMenuEvent).
QEvent::CursorChange183Le curseur du widget a changé.
QEvent::DeferredDelete52L'objet sera supprimé une fois qu'il aura été nettoyé (QDeferredDeleteEvent)
QEvent::DevicePixelRatioChange (since Qt 6.6)222Le devicePixelRatio a changé pour le magasin de données sous-jacent de ce widget ou de cette fenêtre.
QEvent::DragEnter60Le curseur pénètre dans un widget lors d’une opération de glisser-déposer (QDragEnterEvent).
QEvent::DragLeave62Le curseur quitte un widget lors d’une opération de glisser-déposer (QDragLeaveEvent).
QEvent::DragMove61Une opération de glisser-déposer est en cours (QDragMoveEvent).
QEvent::Drop63Une opération de glisser-déposer est terminée (QDropEvent).
QEvent::DynamicPropertyChange170Une propriété dynamique a été ajoutée, modifiée ou supprimée de l’objet.
QEvent::EnabledChange98L'état d'activation du widget a changé.
QEvent::Enter10La souris entre dans les limites du widget (QEnterEvent).
QEvent::EnterWhatsThisMode124À envoyer aux widgets de niveau supérieur lorsque l'application passe en mode « Qu'est-ce que c'est ? ».
QEvent::Expose206Envoyé à une fenêtre lorsque son contenu à l’écran est invalidé et doit être vidé de la mémoire tampon.
QEvent::FileOpen116Demande d’ouverture de fichier (QFileOpenEvent).
QEvent::FocusIn8Le widget ou la fenêtre obtient le focus clavier (QFocusEvent).
QEvent::FocusOut9Le widget ou la fenêtre perd le focus clavier (QFocusEvent).
QEvent::FocusAboutToChange23Le focus d’un widget ou d’une fenêtre est sur le point de changer (QFocusEvent)
QEvent::FontChange97La police du widget a changé.
QEvent::Gesture198Un geste a été déclenché (QGestureEvent).
QEvent::GestureOverride202Une annulation de geste a été déclenchée (QGestureEvent).
QEvent::GrabKeyboard188L'élément est sélectionné au clavier (QGraphicsItem uniquement).
QEvent::GrabMouse186L'élément devient sélectionnable à la souris (QGraphicsItem uniquement).
QEvent::GraphicsSceneContextMenu159Menu contextuel au-dessus d'une scène graphique (QGraphicsSceneContextMenuEvent).
QEvent::GraphicsSceneDragEnter164Le curseur pénètre dans une scène graphique lors d’une opération de glisser-déposer (QGraphicsSceneDragDropEvent).
QEvent::GraphicsSceneDragLeave166Le curseur quitte une scène graphique lors d’une opération de glisser-déposer (QGraphicsSceneDragDropEvent).
QEvent::GraphicsSceneDragMove165Une opération de glisser-déposer est en cours sur une scène (QGraphicsSceneDragDropEvent).
QEvent::GraphicsSceneDrop167Une opération de glisser-déposer est terminée sur une scène (QGraphicsSceneDragDropEvent).
QEvent::GraphicsSceneHelp163L'utilisateur demande de l'aide concernant une scène graphique (QHelpEvent).
QEvent::GraphicsSceneHoverEnter160Le curseur de la souris survole un élément d’une scène graphique (QGraphicsSceneHoverEvent).
QEvent::GraphicsSceneHoverLeave162Le curseur de la souris quitte un élément survolé dans une scène graphique (QGraphicsSceneHoverEvent).
QEvent::GraphicsSceneHoverMove161Le curseur de la souris se déplace à l'intérieur d'un élément survolé dans une scène graphique (QGraphicsSceneHoverEvent).
QEvent::GraphicsSceneMouseDoubleClick158Nouveau clic de souris (double-clic) dans une scène graphique (QGraphicsSceneMouseEvent).
QEvent::GraphicsSceneMouseMove155Déplacer la souris dans une scène graphique (QGraphicsSceneMouseEvent).
QEvent::GraphicsSceneMousePress156Clic de souris dans une scène graphique (QGraphicsSceneMouseEvent).
QEvent::GraphicsSceneMouseRelease157Relâchement de la souris dans une scène graphique (QGraphicsSceneMouseEvent).
QEvent::GraphicsSceneMove182Le widget a été déplacé (QGraphicsSceneMoveEvent).
QEvent::GraphicsSceneResize181Le widget a été redimensionné (QGraphicsSceneResizeEvent).
QEvent::GraphicsSceneWheel168La molette de la souris a été actionnée dans une scène graphique (QGraphicsSceneWheelEvent).
QEvent::GraphicsSceneLeave220Le curseur quitte une scène graphique (QGraphicsSceneWheelEvent).
QEvent::Hide18Le widget a été masqué (QHideEvent).
QEvent::HideToParent27Un widget enfant a été masqué.
QEvent::HoverEnter127Le curseur de la souris entre dans un widget de survol (QHoverEvent).
QEvent::HoverLeave128Le curseur de la souris quitte un widget de survol (QHoverEvent).
QEvent::HoverMove129Le curseur de la souris se déplace à l’intérieur d’un widget de survol (QHoverEvent).
QEvent::IconDrag96L'icône principale d'une fenêtre a été déplacée (QIconDragEvent).
QEvent::IconTextChange101Le texte de l’icône du widget a été modifié. (Obsolète)
QEvent::InputMethod83Une méthode de saisie est en cours d’utilisation (QInputMethodEvent).
QEvent::InputMethodQuery207Un événement de requête de méthode de saisie (QInputMethodQueryEvent)
QEvent::KeyboardLayoutChange169La disposition du clavier a changé.
QEvent::KeyPress6Appui sur une touche (QKeyEvent).
QEvent::KeyRelease7Relâchement de touche (QKeyEvent).
QEvent::LanguageChange89La langue de l'application a changé.
QEvent::LayoutDirectionChange90L'orientation des dispositions a changé.
QEvent::LayoutRequest76La disposition des widgets doit être refaite.
QEvent::Leave11La souris sort des limites du widget.
QEvent::LeaveWhatsThisMode125Renvoyer vers les widgets de niveau supérieur lorsque l'application quitte le mode « Qu'est-ce que c'est ? ».
QEvent::LocaleChange88Les paramètres régionaux du système ont changé.
QEvent::NonClientAreaMouseButtonDblClick176Un double-clic de souris s'est produit en dehors de la zone client (QMouseEvent).
QEvent::NonClientAreaMouseButtonPress174Un bouton de la souris a été enfoncé en dehors de la zone client (QMouseEvent).
QEvent::NonClientAreaMouseButtonRelease175Un bouton de la souris a été relâché en dehors de la zone client (QMouseEvent).
QEvent::NonClientAreaMouseMove173Un déplacement de la souris s'est produit en dehors de la zone client (QMouseEvent).
QEvent::MacSizeChange177L'utilisateur a modifié la taille de ses widgets (macOS uniquement).
QEvent::MetaCall43Un appel de méthode asynchrone via QMetaObject::invokeMethod().
QEvent::ModifiedChange102L'état de modification des widgets a été modifié.
QEvent::MouseButtonDblClick4Nouveau clic de souris (QMouseEvent).
QEvent::MouseButtonPress2Clic de souris (QMouseEvent).
QEvent::MouseButtonRelease3Relâchement de la souris (QMouseEvent).
QEvent::MouseMove5Déplacement de la souris (QMouseEvent).
QEvent::MouseTrackingChange109L'état de suivi de la souris a changé.
QEvent::Move13La position du widget a changé (QMoveEvent).
QEvent::NativeGesture197Le système a détecté un geste (QNativeGestureEvent).
QEvent::OrientationChange208L'orientation de l'écran a changé (QScreenOrientationChangeEvent).
QEvent::Paint12Mise à jour de l'écran nécessaire (QPaintEvent).
QEvent::PaletteChange39La palette du widget a changé.
QEvent::ParentAboutToChange131L'objet parent est sur le point de changer. Envoyé uniquement à certains types d'objets, tels que QWidget.
QEvent::ParentChange21L'objet parent a changé. Envoyé uniquement à certains types d'objets, tels que QWidget.
QEvent::ParentWindowAboutToChange (since Qt 6.7)225La fenêtre parente est sur le point de changer.
QEvent::ParentWindowChange (since Qt 6.7)226La fenêtre parente a changé.
QEvent::PlatformPanel212Un panneau spécifique à la plateforme a été demandé.
QEvent::PlatformSurface217Une surface native de la plateforme a été créée ou est sur le point d’être détruite (QPlatformSurfaceEvent).
QEvent::Polish75Le widget est peaufiné.
QEvent::PolishRequest74Le widget devrait être optimisé.
QEvent::QueryWhatsThis123Le widget devrait accepter l'événement s'il dispose d'une aide « Qu'est-ce que c'est ? » (QHelpEvent).
QEvent::Quit20L'application s'est fermée.
QEvent::ReadOnlyChange (since Qt 5.4)106L'état en lecture seule du widget a changé.
QEvent::RequestSoftwareInputPanel199Un widget souhaite ouvrir un panneau de saisie logiciel (SIP).
QEvent::Resize14La taille du widget a changé (QResizeEvent).
QEvent::ScrollPrepare204L'objet doit renseigner ses informations géométriques (QScrollPrepareEvent).
QEvent::Scroll205L’objet doit se déplacer jusqu’à la position fournie (QScrollEvent).
QEvent::Shortcut117Appui sur une touche dans un enfant pour la gestion des raccourcis clavier (QShortcutEvent).
QEvent::ShortcutOverride51Appui sur une touche dans l’enfant, pour remplacer la gestion des raccourcis clavier (QKeyEvent). Lorsqu’un raccourci est sur le point de se déclencher, un événement « ShortcutOverride » est envoyé à la fenêtre active. Cela permet aux clients (par exemple, les widgets) de signaler qu’ils géreront eux-mêmes le raccourci, en acceptant l’événement. Si la prise en charge du raccourci est acceptée, l’événement est transmis comme une pression de touche normale au widget ayant le focus. Sinon, il déclenche l’action du raccourci, si celle-ci existe.
QEvent::Show17Le widget a été affiché à l'écran (QShowEvent).
QEvent::ShowToParent26Un widget enfant a été affiché.
QEvent::SockAct50Socket activé, utilisé pour implémenter QSocketNotifier.
QEvent::StateMachineSignal192Un signal a été transmis à une machine à états (QStateMachine::SignalEvent).
QEvent::StateMachineWrapped193L’événement est un conteneur pour, c’est-à-dire qu’il contient, un autre événement (QStateMachine::WrappedEvent).
QEvent::StatusTip112Une info-bulle d'état est demandée (QStatusTipEvent).
QEvent::StyleChange100Le style du widget a été modifié.
QEvent::TabletMove87Déplacement de la tablette Wacom (QTabletEvent).
QEvent::TabletPress92Appui sur la tablette Wacom (QTabletEvent).
QEvent::TabletRelease93Relâchement de la tablette Wacom (QTabletEvent).
QEvent::TabletEnterProximity171Événement de proximité de la tablette Wacom (QTabletEvent), envoyé à QApplication.
QEvent::TabletLeaveProximity172Événement « leave proximity » de la tablette Wacom (QTabletEvent), envoyé à QApplication.
QEvent::TabletTrackingChange (since Qt 5.9)219L'état de suivi de la tablette Wacom a changé.
QEvent::ThreadChange22L'objet est déplacé vers un autre thread. Il s'agit du dernier événement envoyé à cet objet dans le thread précédent. Voir QObject::moveToThread().
QEvent::Timer1Événements de minuterie réguliers (QTimerEvent).
QEvent::ToolBarChange120Le bouton de la barre d'outils a été activé/désactivé sous macOS.
QEvent::ToolTip110Une info-bulle a été demandée (QHelpEvent).
QEvent::ToolTipChange184L'info-bulle du widget a changé.
QEvent::TouchBegin194Début d’une séquence d’événements tactiles ou de trackpad (QTouchEvent).
QEvent::TouchCancel209Annulation de la séquence d’événements tactiles (QTouchEvent).
QEvent::TouchEnd196Fin d’une séquence d’événements tactiles (QTouchEvent).
QEvent::TouchUpdate195Événement tactile (QTouchEvent).
QEvent::UngrabKeyboard189L’élément n’est plus sélectionné au clavier (QGraphicsItem uniquement).
QEvent::UngrabMouse187L'élément perd le contrôle de la souris (QGraphicsItem, QQuickItem).
QEvent::UpdateLater78Le widget doit être mis en file d'attente pour être rafraîchi ultérieurement.
QEvent::UpdateRequest77Le widget doit être rafraîchi.
QEvent::WhatsThis111Le widget doit afficher l’aide « Qu’est-ce que c’est ? » (QHelpEvent).
QEvent::WhatsThisClicked118Un lien de l'aide « Qu'est-ce que c'est ? » d'un widget a été cliqué.
QEvent::Wheel31La molette de la souris a été actionnée (QWheelEvent).
QEvent::WinEventAct132Un événement d’activation spécifique à Windows s’est produit.
QEvent::WindowActivate24La fenêtre a été activée.
QEvent::WindowBlocked103La fenêtre est masquée par une boîte de dialogue modale.
QEvent::WindowDeactivate25La fenêtre a été désactivée.
QEvent::WindowIconChange34L'icône de la fenêtre a changé.
QEvent::WindowStateChange105L'window's state e (réduite, agrandie ou plein écran) a changé (QWindowStateChangeEvent).
QEvent::WindowTitleChange33Le titre de la fenêtre a changé.
QEvent::WindowUnblocked104La fenêtre est débloquée après la fermeture d'une boîte de dialogue modale.
QEvent::WinIdChange203L'identifiant système de la fenêtre pour ce widget natif a changé.
QEvent::ZOrderChange126L'ordre de superposition du widget a changé. Cet événement n'est jamais envoyé aux fenêtres de niveau supérieur.
QEvent::SafeAreaMarginsChange (since Qt 6.9)227Les marges de la zone de sécurité de la fenêtre ont changé.

Les événements utilisateur doivent avoir des valeurs comprises entre User et MaxUser:

ConstanteValeurDescription
QEvent::User1000Événement défini par l'utilisateur.
QEvent::MaxUser65535Dernier identifiant d’événement utilisateur.

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

Documentation sur les propriétés

accepted : bool

Cette propriété contient l'indicateur « accept » de l'objet événement.

Définir le paramètre « accept » indique que le récepteur d’événement souhaite recevoir cet événement. Les événements indésirables peuvent être propagés au widget parent. Par défaut, isAccepted() est défini sur true, mais ne vous fiez pas à cela, car les sous-classes peuvent choisir de le désactiver dans leur constructeur.

Pour plus de commodité, l’indicateur d’acceptation peut également être activé avec ` accept()` et désactivé avec ` ignore()`.

Remarque : accepter une QPointerEvent entraîne implicitement l’ accepts de toutes les points s véhiculées par l’événement.

Fonctions d'accès :

bool isAccepted() const
virtual void setAccepted(bool accepted)

Documentation des fonctions membres

[explicit] QEvent::QEvent(QEvent::Type type)

Crée un objet événement de type « type ».

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

Crée par « move » une instance de ` QEvent`. Cette fonction a été supprimée.

[virtual noexcept] QEvent::~QEvent()

Supprime l'événement. S'il s'agissait d'posted, il sera retiré de la liste des événements à publier.

void QEvent::accept()

Définit l'indicateur « accept » de l'objet événement, ce qui équivaut à appeler la méthode ` setAccepted` (true).

La définition du paramètre « accept » indique que le récepteur d'événement souhaite recevoir cet événement. Les événements indésirables peuvent être propagés vers le widget parent.

Voir également ignore().

[virtual, since 6.0] QEvent *QEvent::clone() const

Crée et renvoie une copie identique de cet événement.

Cette fonction a été introduite dans Qt 6.0.

void QEvent::ignore()

Efface le paramètre « accept » de l'objet événement, ce qui équivaut à appeler la méthode ` setAccepted(false)`.

La réinitialisation du paramètre « accept » indique que le récepteur d’événement ne souhaite pas recevoir cet événement. Les événements indésirables peuvent être propagés au widget parent.

Voir également accept().

[noexcept, since 6.0] bool QEvent::isInputEvent() const

Renvoie « true » si l'objet événement est de type « QInputEvent » ou l'une de ses sous-classes.

Cette fonction a été introduite dans Qt 6.0.

[noexcept, since 6.0] bool QEvent::isPointerEvent() const

Renvoie « true » si l'objet événement est de type « QPointerEvent » ou l'une de ses sous-classes.

Cette fonction a été introduite dans Qt 6.0.

[noexcept, since 6.0] bool QEvent::isSinglePointEvent() const

Renvoie « true » si l'objet événement est une sous-classe de « QSinglePointEvent ».

Cette fonction a été introduite dans Qt 6.0.

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

Enregistre et renvoie un type d'événement personnalisé. L'hint fourni sera utilisé s'il est disponible ; sinon, la fonction renverra une valeur comprise entre QEvent::User et QEvent::MaxUser qui n'a pas encore été enregistrée. L'hint est ignoré si sa valeur ne se situe pas entre QEvent::User et QEvent::MaxUser.

Renvoie -1 si toutes les valeurs disponibles sont déjà prises ou si le programme est en cours d'arrêt.

Remarque : cette fonction est thread-safe.

bool QEvent::spontaneous() const

Renvoie « true » si l'événement provient de l'extérieur de l'application (événement système) ; sinon, renvoie « false ».

QEvent::Type QEvent::type() const

Renvoie le type d'événement.

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

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

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