QWinEventNotifier 類

QWinEventNotifier 類提供支持 Windows 等待函數。 更多...

頭: #include <QWinEventNotifier>
qmake: QT += core
Since: Qt 5.0
繼承: QObject

該類在 Qt 5.0 引入。

公共函數

QWinEventNotifier (QWinEventNotifier::HANDLE hEvent , QObject * parent = nullptr)
QWinEventNotifier (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 類使以異步方式在 Windows 使用等待函數成為可能。采用此類,可以將 HANDLE 注冊成事件,並獲得通知在告知該事件時。在過程中不會修改事件狀態,因此,若手動重置事件,需要重置它在通知後。

一旦使用 Windows API (譬如 CreateEvent() 或 OpenEvent()) 創建事件對象,就可以創建事件通知以監視事件句柄。若事件通知被啓用,它會發射 activated () 信號每當告知相應事件對象時。

The setEnabled () 函數允許禁用及啓用事件通知。明確啓用或禁用事件通知通常是明智的。禁用通知什麼都不做當告知事件對象時 (與不創建事件通知效果相同)。使用 isEnabled () 函數以確定通知的當前狀態。

最後,可以使用 setHandle () 函數以注冊新的事件對象,和 handle () 函數以檢索件事件句柄。

進一步信息: 盡管類被稱為 QWinEventNotifier,但它可用於某些其它對象 (所謂的同步對象),譬如:進程、綫程、等待計時器。

警告: 此類隻可用於 Windows。

成員函數文檔編製

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

構造事件通知采用給定 parent 。它啓用通知,並看守事件 hEvent .

通知默認是啓用的,即,它發射 activated () 信號每當告知相應事件時。不管怎樣,明確啓用或禁用事件通知通常是明智的。

另請參閱 setEnabled () 和 isEnabled ().

QWinEventNotifier:: QWinEventNotifier ( QObject * parent = nullptr)

構造事件通知采用給定 parent .

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

此信號被發射每當事件通知被啓用並告知相應 HANDLE。

事件狀態在過程中未被修改,因此,若是手動重置事件,需要重置它在通知後。

對象被傳入 hEvent 參數。

注意: 這是私有信號。它可以用於信號連接,但不能由用戶發射。

另請參閱 handle ().

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

enable 為 true,通知被啓用;否則通知被禁用。

另請參閱 isEnabled () 和 activated ().

[虛擬] QWinEventNotifier:: ~QWinEventNotifier ()

銷毀此通知程序。

[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 ().

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

注冊 HANDLE hEvent 。舊 HANDLE 將被自動取消注冊。

注意 :通告程序會因副作用被禁用,且需要重新啓用。

另請參閱 handle () 和 setEnabled ().