Класс 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
Переопределенные защищенные функции
| 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 = 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().
[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/archives/qt-5.11/qwineventnotifier.html