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 クラスは、ウィンドウの wait 関数を非同期で使用できるようにします。このクラスでは、イベントにHANDLEを登録し、そのイベントが通知されたときに通知を受け取ることができます。イベントの状態はこの処理では変更されないので、手動でリセットするイベントの場合は、通知後にリセットする必要があります。

CreateEvent()やOpenEvent()などのWindows APIを使用してイベント・オブジェクトを作成したら、イベント・ハンドルを監視するイベント・ノーティファイアを作成できます。イベント・ノーティファイアが有効になっていれば、対応するイベント・オブジェクトが通知されるたびにactivated() シグナルを発信します。

setEnabled() 関数では、イベント・ノーティファイアを無効にすることも、有効にすることもできます。一般的には、イベント・ノーティファイアを明示的に有効または無効にすることをお勧めします。無効化されたノーティファイアは、イベント・オブジェクトがシグナ ルされたときに何もしません(イベント・ノーティファイアを作成しないのと同じ効果)。ノーティファイアの現在のステータスを調べるには、isEnabled ()関数を使用します。

最後に、setHandle ()関数を使用して新しいイベント・オブジェクトを登録し、handle ()関数を使用してイベント・ハンドルを取得することができます。

さらに詳しい情報が必要です:このクラスは QWinEventNotifier と呼ばれますが、プロセス、スレッド、Waitable タイマーなど、いわゆる同期オブジェクトである他のオブジェクトにも使用できます。

警告 このクラスは 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)

HANDLEhEvent を登録する。古いHANDLEは自動的に登録解除される。

注意:ノーティファイアは副作用として無効になるので、再度有効にする必要がある。

handle() およびsetEnabled()も参照の こと。

© 2025 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.