Auf dieser Seite

QWinEventNotifier Class

Die Klasse „QWinEventNotifier“ bietet Unterstützung für die Windows-Wait-Funktionen. Mehr...

Header: #include <QWinEventNotifier>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Erbt von: QObject

Öffentliche Funktionen

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)

Öffentliche Slots

void setEnabled(bool enable)

Signale

void activated(QWinEventNotifier::HANDLE hEvent)

Neu implementierte geschützte Funktionen

virtual bool event(QEvent *e) override

Ausführliche Beschreibung

Die Klasse `QWinEventNotifier` ermöglicht die asynchrone Nutzung von Wartefunktionen für Fenster. Mit dieser Klasse können Sie ein HANDLE für ein Ereignis registrieren und eine Benachrichtigung erhalten, sobald dieses Ereignis ausgelöst wird. Der Status des Ereignisses wird dabei nicht verändert. Handelt es sich also um ein manuell zurückzusetzendes Ereignis, müssen Sie es nach der Benachrichtigung selbst zurücksetzen.

Sobald Sie ein Ereignisobjekt mithilfe der Windows-API wie z. B. `CreateEvent()` oder `OpenEvent()` erstellt haben, können Sie einen Ereignisbenachrichtigungsdienst erstellen, um das Ereignis-Handle zu überwachen. Ist der Ereignisbenachrichtigungsdienst aktiviert, sendet er das Signal ` activated()` aus, sobald das entsprechende Ereignisobjekt ausgelöst wird.

Mit der Funktion ` setEnabled()` können Sie den Ereignisbenachrichtiger sowohl deaktivieren als auch aktivieren. Es ist generell ratsam, den Ereignisbenachrichtiger explizit zu aktivieren oder zu deaktivieren. Ein deaktivierter Benachrichtiger führt keine Aktion aus, wenn das Ereignisobjekt ausgelöst wird (dies hat denselben Effekt, als wäre der Ereignisbenachrichtiger gar nicht erst erstellt worden). Verwenden Sie die Funktion ` isEnabled()`, um den aktuellen Status des Benachrichtigers zu ermitteln.

Schließlich können Sie die Funktion ` setHandle()` verwenden, um ein neues Ereignisobjekt zu registrieren, und die Funktion ` handle()`, um das Ereignis-Handle abzurufen.

Weitere Informationen: Obwohl die Klasse „QWinEventNotifier“ heißt, kann sie auch für bestimmte andere Objekte verwendet werden, die sogenannte Synchronisationsobjekte sind, wie z. B. Prozesse, Threads und abwartbare Timer.

Warnung: Diese Klasse ist nur unter Windows verfügbar.

Dokumentation zu den Mitgliedsfunktionen

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

Erstellt einen Ereignisbenachrichtigungsdienst mit dem angegebenen „ parent “.

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

Erstellt einen Ereignis-Notifier mit dem angegebenen „ parent “. Er aktiviert den Notifier und überwacht das Ereignis „ hEvent “.

Der Notifier ist standardmäßig aktiviert, d. h., er sendet das Signal ` activated()` aus, sobald das entsprechende Ereignis ausgelöst wird. Es ist jedoch generell ratsam, den Ereignis-Notifier explizit zu aktivieren oder zu deaktivieren.

Siehe auch ` setEnabled()` und ` isEnabled()`.

[virtual noexcept] QWinEventNotifier::~QWinEventNotifier()

Löscht diesen Notifier.

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

Dieses Signal wird immer dann ausgesendet, wenn der Ereignisbenachrichtiger aktiviert ist und das entsprechende HANDLE signalisiert wird.

Der Status des Ereignisses wird dabei nicht verändert. Handelt es sich also um ein manuell zurückzusetzendes Ereignis, müssen Sie es nach der Benachrichtigung zurücksetzen.

Das Objekt wird im Parameter „ hEvent “ übergeben.

Hinweis: Dies ist ein privates Signal. Es kann in Signalverbindungen verwendet werden, kann jedoch nicht vom Benutzer ausgelöst werden.

Siehe auch ` handle()`.

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

Implementiert: QObject::event(QEvent *e).

QWinEventNotifier::HANDLE QWinEventNotifier::handle() const

Gibt das HANDLE zurück, das im Notifier registriert wurde.

Siehe auch „ setHandle()“.

bool QWinEventNotifier::isEnabled() const

Gibt „ true “ zurück, wenn der Notifier aktiviert ist; andernfalls wird „ false “ zurückgegeben.

Siehe auch setEnabled().

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

Ist enable wahr, ist der Notifier aktiviert; andernfalls ist der Notifier deaktiviert.

Siehe auch „ isEnabled()“ und „ activated()“.

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

Registrieren Sie das HANDLE „ hEvent “. Das alte HANDLE wird automatisch deregistriert.

Hinweis: Als Nebeneffekt wird der Notifier deaktiviert und muss erneut aktiviert werden.

Siehe auch handle() und 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.