Spec-Zone.ru › Qt 6.1

Класс 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.1/qwineventnotifier.html

Spec-Zone.ru

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