Sur cette page

QWinEventNotifier Class

La classe QWinEventNotifier prend en charge les fonctions « Wait » de Windows. En savoir plus...

En-tête : #include <QWinEventNotifier>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core
Hérite de : QObject

Fonctions publiques

QWinEventNotifier(QObject *parent = nullptr)
QWinEventNotifier(QWinEventNotifier::HANDLE hEvent, QObject *parent = nullptr)
virtual ~QWinEventNotifier()
QWinEventNotifier::HANDLE handle() const
bool isEnabled() const
void setHandle(QWinEventNotifier::HANDLE hEvent)

Slots publics

void setEnabled(bool enable)

Signaux

void activated(QWinEventNotifier::HANDLE hEvent)

Fonctions protégées réimplémentées

virtual bool event(QEvent *e) override

Description détaillée

La classe QWinEventNotifier permet d'utiliser les fonctions d'attente sur les fenêtres de manière asynchrone. Grâce à cette classe, vous pouvez enregistrer un HANDLE pour un événement et recevoir une notification lorsque cet événement se produit. L'état de l'événement n'est pas modifié au cours du processus ; ainsi, s'il s'agit d'un événement à réinitialisation manuelle, vous devrez le réinitialiser après la notification.

Une fois que vous avez créé un objet événement à l’aide de l’API Windows, par exemple avec CreateEvent() ou OpenEvent(), vous pouvez créer un notificateur d’événements pour surveiller le descripteur de l’événement. Si le notificateur d’événements est activé, il émettra le signal activated() chaque fois que l’objet événement correspondant sera déclenché.

La fonction ` setEnabled()` vous permet aussi bien de désactiver que d’activer le notificateur d’événements. Il est généralement conseillé d’activer ou de désactiver explicitement le notificateur d’événements. Un notificateur désactivé ne fait rien lorsque l’objet d’événement est déclenché (ce qui revient à ne pas créer le notificateur d’événements). Utilisez la fonction ` isEnabled()` pour déterminer l’état actuel du notificateur.

Enfin, vous pouvez utiliser la fonction ` setHandle()` pour enregistrer un nouvel objet événement, et la fonction ` handle()` pour récupérer le descripteur de l'événement.

Informations complémentaires : bien que la classe s'appelle QWinEventNotifier, elle peut être utilisée pour certains autres objets dits « objets de synchronisation », tels que les processus, les threads et les minuteurs attendables.

Avertissement : cette classe n'est disponible que sous Windows.

Documentation des fonctions membres

[explicit] QWinEventNotifier::QWinEventNotifier(QObject *parent = nullptr)

Crée un notificateur d'événements à partir de l'parent on fournie.

[explicit] QWinEventNotifier::QWinEventNotifier(QWinEventNotifier::HANDLE hEvent, QObject *parent = nullptr)

Crée un notificateur d'événements avec l'parent donné. Il active le notificateur et surveille l'événement hEvent.

Le notificateur est activé par défaut, c'est-à-dire qu’il émet le signal ` activated()` dès que l’événement correspondant est déclenché. Cependant, il est généralement conseillé d’activer ou de désactiver explicitement le notificateur d’événements.

Voir également setEnabled() et isEnabled().

[virtual noexcept] QWinEventNotifier::~QWinEventNotifier()

Supprime ce notificateur.

[private signal] void QWinEventNotifier::activated(QWinEventNotifier::HANDLE hEvent)

Ce signal est émis chaque fois que le notificateur d'événements est activé et que le HANDLE correspondant est signalé.

L'état de l'événement n'est pas modifié au cours du processus ; par conséquent, s'il s'agit d'un événement à réinitialisation manuelle, vous devrez le réinitialiser après la notification.

L'objet est transmis via le paramètre « hEvent ».

Remarque : il s'agit d'un signal privé. Il peut être utilisé dans les connexions de signaux, mais ne peut pas être émis par l'utilisateur.

Voir également handle().

[override virtual protected] bool QWinEventNotifier::event(QEvent *e)

Réimplémente : QObject::event(QEvent *e).

QWinEventNotifier::HANDLE QWinEventNotifier::handle() const

Renvoie le HANDLE qui a été enregistré dans le notificateur.

Voir également setHandle().

bool QWinEventNotifier::isEnabled() const

Renvoie « true » si le notificateur est activé ; sinon, renvoie « false ».

Voir également setEnabled().

[slot] void QWinEventNotifier::setEnabled(bool enable)

Si la valeur de enable est « true », le notificateur est activé ; dans le cas contraire, il est désactivé.

Voir également isEnabled() et activated().

void QWinEventNotifier::setHandle(QWinEventNotifier::HANDLE hEvent)

Enregistrez le HANDLE hEvent. L'ancien HANDLE sera automatiquement désenregistré.

Remarque: le notificateur sera désactivé en conséquence et devra être réactivé.

Voir également handle() et setEnabled().

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