Класс 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) |
- 31 открытых функций, унаследованных от 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 позволяет использовать функции ожидания на Windows асинхронным способом. С помощью этого класса вы можете зарегистрировать 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/archives/qt-5.6/qwineventnotifier.html