Класс QWinEventNotifier
Класс QWinEventNotifier предоставляет поддержку функций ожидания Windows. Подробнее...
| Заголовок: | #include <QWinEventNotifier> |
| qmake: | QT += core |
| С момента: | Qt 5.0 |
| Наследует: | QObject |
Этот класс был представлен в Qt 5.0.
Открытые функции
| 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.
[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-5.13/qwineventnotifier.html