En esta página

QWinEventNotifier Class

La clase QWinEventNotifier proporciona soporte para las funciones Wait de Windows. Más...

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

Funciones Públicas

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)

Ranuras Públicas

void setEnabled(bool enable)

Señales

void activated(QWinEventNotifier::HANDLE hEvent)

Funciones protegidas reimplementadas

virtual bool event(QEvent *e) override

Descripción Detallada

La clase QWinEventNotifier permite utilizar las funciones wait en ventanas de forma asíncrona. Con esta clase, se puede registrar un HANDLE a un evento y obtener una notificación cuando ese evento se señaliza. El estado del evento no se modifica en el proceso por lo que si se trata de un evento de reinicio manual tendrás que reiniciarlo después de la notificación.

Una vez que hayas creado un objeto de evento utilizando la API de Windows como CreateEvent() o OpenEvent(), puedes crear un notificador de eventos para monitorizar el manejador del evento. Si el notificador de eventos está activado, emitirá la señal activated() cada vez que el objeto de evento correspondiente reciba una señal.

La función setEnabled() permite activar y desactivar el notificador de eventos. En general, es aconsejable activar o desactivar explícitamente el notificador de eventos. Un notificador desactivado no hace nada cuando el objeto de evento es señalado (el mismo efecto que no crear el notificador de eventos). Utilice la función isEnabled() para determinar el estado actual del notificador.

Por último, puede utilizar la función setHandle() para registrar un nuevo objeto de evento, y la función handle() para recuperar el manejador del evento.

Para más información: Aunque la clase se denomina QWinEventNotifier, puede utilizarse para otros objetos denominados de sincronización, como Procesos, Hilos, Temporizadores esperables.

Advertencia: Esta clase sólo está disponible en Windows.

Documentación de Funciones Miembro

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

Construye un notificador de eventos con la dirección parent.

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

Construye un notificador de eventos con la dirección parent. Habilita el notificador y está atento al evento hEvent.

El notificador está habilitado por defecto, es decir, emite la señal activated() cada vez que se señala el evento correspondiente. Sin embargo, suele ser aconsejable activar o desactivar explícitamente el notificador de eventos.

Véase también setEnabled() y isEnabled().

[virtual noexcept] QWinEventNotifier::~QWinEventNotifier()

Destruye este notificador.

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

Esta señal se emite cada vez que se activa el notificador de eventos y se señala el HANDLE correspondiente.

El estado del evento no se modifica en el proceso, por lo que si se trata de un evento de reinicio manual, será necesario reiniciarlo después de la notificación.

El objeto se pasa en el parámetro hEvent.

Nota: Esta es una señal privada. Puede ser utilizada en conexiones de señal pero no puede ser emitida por el usuario.

Véase también handle().

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

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

QWinEventNotifier::HANDLE QWinEventNotifier::handle() const

Devuelve el HANDLE que se ha registrado en el notificador.

Véase también setHandle().

bool QWinEventNotifier::isEnabled() const

Devuelve true si el notificador está habilitado; en caso contrario devuelve false.

Véase también setEnabled().

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

Si enable es verdadero, el notificador está habilitado; en caso contrario, el notificador está deshabilitado.

Véase también isEnabled() y activated().

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

Registre el HANDLE hEvent. El antiguo HANDLE se desregistrará automáticamente.

Nota: El notificador se desactivará como efecto secundario y deberá volver a activarse.

Véase también handle() y 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.