QWinEventNotifier Class
QWinEventNotifierクラスは、WindowsのWait関数のサポートを提供します。詳細...
Header: | #include <QWinEventNotifier> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Inherits: | 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()も参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。