Spec-Zone.ru › Qt

Класс QWinEventNotifier

Класс QWinEventNotifier предоставляет поддержку функций ожидания Windows. Подробнее...

Заголовок: #include <QWinEventNotifier>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
С момента: Qt 5.0
Наследует: QObject
  • Список всех членов, включая унаследованные

Открытые функции

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

Открытые слоты

void setEnabled(bool enable)

Сигналы

void activated(QWinEventNotifier::HANDLE hEvent)

Переопределённые защищённые функции

virtual bool event(QEvent *e) override

Подробное описание

Класс QWinEventNotifier позволяет использовать функции ожидания Windows асинхронным образом. С помощью этого класса вы можете зарегистрировать HANDLE события и получить уведомление, когда это событие станет сигнализирующим. Состояние события не изменяется в процессе, поэтому если это событие с ручным сбросом, вам потребуется сбросить его после уведомления.

После создания объекта события с помощью API Windows, такого как CreateEvent() или OpenEvent(), вы можете создать уведомитель событий для мониторинга дескриптора события. Если уведомитель событий включён, он будет излучать сигнал activated() всякий раз, когда соответствующий объект события становится сигнализирующим.

Функция setEnabled() позволяет отключить и включить уведомитель событий. В общем случае рекомендуется явно включать или отключать уведомитель событий. Отключенный уведомитель ничего не делает, когда объект события сигнализирует (тот же эффект, что и при отсутствии уведомителя событий). Используйте функцию isEnabled(), чтобы определить текущее состояние уведомителя.

Наконец, вы можете использовать функцию setHandle() для регистрации нового объекта события и функцию handle() для извлечения дескриптора события.

Дополнительная информация: Хотя класс называется QWinEventNotifier, его можно использовать для некоторых других объектов, которые являются так называемыми объектами синхронизации, такими как процессы, потоки, таймеры с ожиданием.

Предупреждение: Этот класс доступен только в Windows.

Документация по функциям-членам

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

Создаёт уведомитель событий с заданным parent. Он включает уведомитель и следит за событием hEvent.

Уведомитель включён по умолчанию, т. е. он излучает сигнал activated() всякий раз, когда соответствующее событие сигнализирует. Однако, в общем случае рекомендуется явно включать или отключать уведомитель событий.

См. также setEnabled() и isEnabled().

QWinEventNotifier::QWinEventNotifier(QObject *parent = nullptr)

Создаёт уведомитель событий с заданным parent.

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

Этот сигнал излучается всякий раз, когда уведомитель событий включён, и соответствующий HANDLE сигнализирует.

Состояние события не изменяется в процессе, поэтому если это событие с ручным сбросом, вам потребуется сбросить его после уведомления.

Объект передаётся в параметре hEvent.

Примечание: Это частный сигнал. Его можно использовать в соединениях сигналов, но его нельзя излучить пользователю.

См. также handle().

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

Если enable истинно, уведомитель включён; в противном случае уведомитель отключён.

См. также isEnabled() и activated().

[virtual] QWinEventNotifier::~QWinEventNotifier()

Уничтожает этот уведомитель.

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

Переопределяет: QObject::event(QEvent *e).

QWinEventNotifier::HANDLE QWinEventNotifier::handle() const

Возвращает HANDLE, который был зарегистрирован в уведомителе.

См. также setHandle().

bool QWinEventNotifier::isEnabled() const

Возвращает true, если уведомитель включён; в противном случае возвращает false.

См. также setEnabled().

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

Регистрирует HANDLE hEvent. Старый HANDLE будет автоматически снят с регистрации.

Примечание: Уведомитель будет отключён как побочный эффект и должен быть включён заново.

См. также handle() и setEnabled().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qwineventnotifier.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API