QWinEventNotifier Class
Die Klasse QWinEventNotifier bietet Unterstützung für die Windows-Wartefunktionen. Mehr...
Header: | #include <QWinEventNotifier> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Vererbungen: | 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) |
Reimplementierte geschützte Funktionen
virtual bool | event(QEvent *e) override |
Detaillierte Beschreibung
Die Klasse QWinEventNotifier ermöglicht die asynchrone Nutzung der Wait-Funktionen von Fenstern. Mit dieser Klasse können Sie ein HANDLE auf ein Ereignis registrieren und eine Benachrichtigung erhalten, wenn dieses Ereignis signalisiert wird. Der Zustand des Ereignisses wird dabei nicht verändert. Wenn es sich also um ein manuell zurückgesetztes Ereignis handelt, müssen Sie es nach der Benachrichtigung zurücksetzen.
Sobald Sie ein Ereignisobjekt mit Hilfe der Windows-API wie CreateEvent() oder OpenEvent() erstellt haben, können Sie einen Ereignismelder erstellen, um das Ereignis-Handle zu überwachen. Wenn der Ereignismelder aktiviert ist, sendet er das Signal activated(), sobald das entsprechende Ereignisobjekt signalisiert wird.
Mit der Funktion setEnabled() können Sie den Ereignismelder sowohl deaktivieren als auch aktivieren. Es ist im Allgemeinen ratsam, den Ereignisbenachrichtiger explizit zu aktivieren oder zu deaktivieren. Ein deaktivierter Notifier tut nichts, wenn das Ereignisobjekt signalisiert wird (derselbe Effekt wie das Nicht-Erstellen des Event Notifier). Verwenden Sie die Funktion isEnabled(), um den aktuellen Status des Notifizierers 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, Waitable Timer.
Warnung: Diese Klasse ist nur unter Windows verfügbar.
Dokumentation der Mitgliedsfunktionen
[explicit]
QWinEventNotifier::QWinEventNotifier(QObject *parent = nullptr)
Konstruiert einen Ereignismelder mit dem angegebenen parent.
[explicit]
QWinEventNotifier::QWinEventNotifier(QWinEventNotifier::HANDLE hEvent, QObject *parent = nullptr)
Konstruiert einen Ereignismelder mit dem angegebenen parent. Er aktiviert den Notifizierer und wartet auf das Ereignis hEvent.
Der Notifier ist standardmäßig aktiviert, d.h. er sendet das Signal activated(), wenn das entsprechende Ereignis signalisiert wird. Im Allgemeinen ist es jedoch ratsam, den Event Notifier explizit zu aktivieren oder zu deaktivieren.
Siehe auch setEnabled() und isEnabled().
[virtual noexcept]
QWinEventNotifier::~QWinEventNotifier()
Zerstört diesen Melder.
[private signal]
void QWinEventNotifier::activated(QWinEventNotifier::HANDLE hEvent)
Dieses Signal wird immer dann ausgegeben, wenn der Event Notifier aktiviert ist und der entsprechende HANDLE signalisiert wird.
Der Zustand des Ereignisses wird dabei nicht verändert. Wenn es sich also um ein manuell zurückgesetztes Ereignis handelt, 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, aber nicht vom Benutzer ausgesendet werden.
Siehe auch handle().
[override virtual protected]
bool QWinEventNotifier::event(QEvent *e)
Reimplements: QObject::event(QEvent *e).
QWinEventNotifier::HANDLE QWinEventNotifier::handle() const
Gibt das HANDLE zurück, das im Notifizierer registriert wurde.
Siehe auch setHandle().
bool QWinEventNotifier::isEnabled() const
Gibt true
zurück, wenn der Melder aktiviert ist; andernfalls wird false
zurückgegeben.
Siehe auch setEnabled().
[slot]
void QWinEventNotifier::setEnabled(bool enable)
Wenn enable wahr ist, ist der Melder aktiviert; andernfalls ist der Melder deaktiviert.
Siehe auch isEnabled() und activated().
void QWinEventNotifier::setHandle(QWinEventNotifier::HANDLE hEvent)
Registrieren Sie den HANDLE hEvent. Der alte HANDLE wird automatisch deregistriert.
Hinweis: Der Notifier wird als Nebeneffekt deaktiviert und muss wieder aktiviert werden.
Siehe auch handle() und setEnabled().
© 2025 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.