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)
HANDLE「hEvent 」を登録します。以前の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.