Класс QWinEventNotifier
Класс QWinEventNotifier предоставляет поддержку функций ожидания Windows. Подробнее...
| Заголовок: | #include <QWinEventNotifier> |
| qmake: | QT += core |
| С момента: | Qt 5.0 |
| Наследует: | QObject |
Открытые функции
| 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) |
- 32 открытых функций, унаследованных от QObject
Открытые слоты
| void | setEnabled(bool enable) |
- 1 открытый слот, унаследованный от QObject
Сигналы
| void | activated(QWinEventNotifier::HANDLE hEvent) |
- 2 сигнала, унаследованные от QObject
Статические открытые члены
| const QMetaObject | staticMetaObject |
- 10 статических открытых членов, унаследованных от QObject
Переопределённые защищённые функции
| virtual bool | event(QEvent *e) override |
- 9 защищённых функций, унаследованных от QObject
Дополнительные унаследованные члены
Подробное описание
Класс QWinEventNotifier предоставляет поддержку функций ожидания Windows.
Класс QWinEventNotifier позволяет использовать функции ожидания на Windows асинхронно. С помощью этого класса вы можете зарегистрировать HANDLE события и получить уведомление, когда это событие становится сигнализирующим. Состояние события не изменяется в процессе, поэтому если это событие с ручным сбросом, вам необходимо сбросить его после уведомления.
После создания объекта события с помощью API Windows, такого как CreateEvent() или OpenEvent(), вы можете создать уведомлитель событий для отслеживания дескриптора события. Если уведомлитель событий включён, он будет излучать сигнал activated() всякий раз, когда соответствующий объект события становится сигнализирующим.
Функция setEnabled() позволяет отключить и включить уведомлитель событий. В целом рекомендуется явно включать или отключать уведомлитель событий. Отключенный уведомлитель ничего не делает, когда объект события становится сигнализирующим (тот же эффект, что и при отсутствии создания уведомлителя событий). Используйте функцию isEnabled(), чтобы определить текущее состояние уведомлителя.
Наконец, вы можете использовать функцию setHandle() для регистрации нового объекта события и функцию handle() для извлечения дескриптора события.
Дополнительная информация: Хотя класс называется QWinEventNotifier, он может использоваться для некоторых других объектов, которые являются так называемыми синхронизационными объектами, такими как процессы, потоки, таймеры ожидания.
Предупреждение: Этот класс доступен только в Windows.
Документация по функциям членов
QWinEventNotifier::QWinEventNotifier(QObject *parent = nullptr)
Конструирует уведомлитель событий с заданным parent.
QWinEventNotifier::QWinEventNotifier(QWinEventNotifier::HANDLE hEvent, QObject *parent = nullptr)
Конструирует уведомлитель событий с заданным parent. Он включает уведомлитель и следит за событием hEvent.
Уведомлитель по умолчанию включён, т.е. он излучает сигнал activated() всякий раз, когда соответствующее событие сигнализируется. Однако, рекомендуется явно включать или отключать уведомлитель событий.
См. также setEnabled() и isEnabled().
[virtual] QWinEventNotifier::~QWinEventNotifier()
Уничтожает этот уведомлитель.
[signal] void QWinEventNotifier::activated(QWinEventNotifier::HANDLE hEvent)
Этот сигнал излучается всякий раз, когда уведомлитель событий включён, и соответствующий HANDLE сигнализируется.
Состояние события не изменяется в процессе, поэтому если это событие с ручным сбросом, вам необходимо сбросить его после уведомления.
Объект передаётся в параметре hEvent.
Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может излучаться пользователем.
См. также handle().
[override virtual protected] bool QWinEventNotifier::event(QEvent *e)
Переопределено из QObject::event().
QWinEventNotifier::HANDLE QWinEventNotifier::handle() const
Возвращает HANDLE, который был зарегистрирован в уведомлителе.
См. также setHandle().
bool QWinEventNotifier::isEnabled() const
Возвращает true если уведомлитель включён; в противном случае возвращает false.
См. также setEnabled().
[slot] void QWinEventNotifier::setEnabled(bool enable)
Если enable равно true, уведомлитель включён; в противном случае уведомлитель отключён.
См. также isEnabled() и activated().
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.12/qwineventnotifier.html