QWinEventNotifier 類

The QWinEventNotifier class provides support for the Windows Wait functions. 更多...

頭: #include <QWinEventNotifier>
qmake: QT += core
Since: Qt 5.0
繼承: 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 )

靜態公共成員

const QMetaObject staticMetaObject

重實現保護函數

virtual bool event (QEvent * e ) override

額外繼承成員

詳細描述

The QWinEventNotifier class provides support for the Windows Wait functions.

The QWinEventNotifier class makes it possible to use the wait functions on windows in a asynchronous manner. With this class, you can register a HANDLE to an event and get notification when that event becomes signalled. The state of the event is not modified in the process so if it is a manual reset event you will need to reset it after the notification.

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

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

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

進一步信息: Although the class is called QWinEventNotifier , it can be used for certain other objects which are so-called synchronization objects, such as Processes, Threads, Waitable timers.

警告: 此類隻可用於 Windows。

成員函數文檔編製

QWinEventNotifier:: QWinEventNotifier ( QObject * parent = nullptr)

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

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

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

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

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

[虛擬] QWinEventNotifier:: ~QWinEventNotifier ()

銷毀此通知程序。

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

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

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

對象被傳入 hEvent 參數。

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

另請參閱 handle ().

[override virtual protected] bool QWinEventNotifier:: event ( QEvent * e )

重實現自 QObject::event ().

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