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