이 페이지에서

QWinEventNotifier Class

QWinEventNotifier 클래스는 Windows Wait 함수를 지원합니다. 더 보기...

헤더: #include <QWinEventNotifier>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
상속: 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)

공개 슬롯

void setEnabled(bool enable)

신호

void activated(QWinEventNotifier::HANDLE hEvent)

재구현된 보호 함수

virtual bool event(QEvent *e) override

상세 설명

QWinEventNotifier 클래스를 사용하면 창에 대한 대기 함수를 비동기 방식으로 사용할 수 있습니다. 이 클래스를 사용하면 이벤트에 대한 HANDLE을 등록하고, 해당 이벤트가 발생했을 때 알림을 받을 수 있습니다. 이 과정에서 이벤트의 상태는 변경되지 않으므로, 수동 재설정 이벤트인 경우 알림을 받은 후 직접 재설정해야 합니다.

CreateEvent()나 OpenEvent()와 같은 Windows API를 사용하여 이벤트 객체를 생성한 후, 이벤트 핸들을 모니터링할 이벤트 알림기를 생성할 수 있습니다. 이벤트 알림기가 활성화된 경우, 해당 이벤트 객체가 신호가 발생하면 activated() 신호를 발산합니다.

setEnabled() 함수를 사용하면 이벤트 알림기를 활성화하거나 비활성화할 수 있습니다. 일반적으로는 이벤트 알림기를 명시적으로 활성화하거나 비활성화하는 것이 좋습니다. 비활성화된 알림기는 이벤트 객체에 신호가 발생할 때 아무런 동작도 하지 않습니다(이벤트 알림기를 생성하지 않은 것과 동일한 효과). isEnabled() 함수를 사용하여 알림기의 현재 상태를 확인할 수 있습니다.

마지막으로, setHandle() 함수를 사용하여 새로운 이벤트 객체를 등록하고, handle() 함수를 사용하여 이벤트 핸들을 가져올 수 있습니다.

추가 정보: 이 클래스의 이름은 QWinEventNotifier이지만, 프로세스, 스레드, 대기 가능 타이머와 같이 소위 동기화 객체라고 불리는 특정 다른 객체에도 사용할 수 있습니다.

경고: 이 클래스는 Windows에서만 사용할 수 있습니다.

멤버 함수 설명

[explicit] QWinEventNotifier::QWinEventNotifier(QObject *parent = nullptr)

지정된 parent 를 사용하여 이벤트 알림기를 생성합니다.

[explicit] QWinEventNotifier::QWinEventNotifier(QWinEventNotifier::HANDLE hEvent, QObject *parent = nullptr)

주어진 ` parent`를 사용하여 이벤트 알림기를 생성합니다. 이 알림기를 활성화하고, ` hEvent` 이벤트를 감시합니다.

이 노티파이어는 기본적으로 활성화되어 있으므로, 해당 이벤트가 발생하면 언제든지 activated() 신호를 발산합니다. 그러나 일반적으로 이벤트 노티파이어를 명시적으로 활성화하거나 비활성화하는 것이 좋습니다.

setEnabled() 및 isEnabled()도 참조하십시오 .

[virtual noexcept] QWinEventNotifier::~QWinEventNotifier()

이 알림기를 삭제합니다.

[private signal] void QWinEventNotifier::activated(QWinEventNotifier::HANDLE hEvent)

이 신호는 이벤트 알림 기능이 활성화되어 있고 해당 HANDLE에 신호가 전달될 때마다 발생합니다.

이 과정에서 이벤트의 상태는 변경되지 않으므로, 수동 리셋 이벤트인 경우 알림이 전송된 후 직접 리셋해야 합니다.

객체는 ` hEvent ` 매개변수를 통해 전달됩니다.

참고: 이 신호는 비공개 신호입니다. 신호 연결에서 사용할 수 있지만, 사용자가 직접 발산할 수는 없습니다.

handle()도 참조하십시오 .

[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()도 참조하십시오 .

[slot] void QWinEventNotifier::setEnabled(bool enable)

enable 가 true인 경우 알림 기능이 활성화되며, 그렇지 않은 경우 비활성화됩니다.

isEnabled() 및 activated()도 참조하십시오 .

void QWinEventNotifier::setHandle(QWinEventNotifier::HANDLE hEvent)

hEvent 의 HANDLE을 등록하십시오. 기존 HANDLE은 자동으로 등록이 해제됩니다.

참고: 부수적인 효과로 알림 기능이 비활성화되므로 다시 활성화해야 합니다.

handle() 및 setEnabled()도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.