Spec-Zone.ru › Qt 6.0

Класс 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 равно true, уведомлятор включается; в противном случае уведомлятор выключается.

См. также 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.0/qwineventnotifier.html

Spec-Zone.ru

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