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。
構造事件通知采用給定 parent .
構造事件通知采用給定 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 ().
返迴在通知中有注冊的 HANDLE。
另請參閱 setHandle ().
返迴
true
若通知被啓用;否則返迴
false
.
另請參閱 setEnabled ().
[slot]
void
QWinEventNotifier::
setEnabled
(
bool
enable
)
若 enable 為 true,通知被啓用;否則通知被禁用。
另請參閱 isEnabled () 和 activated ().
注冊 HANDLE hEvent 。舊 HANDLE 將被自動取消注冊。
注意 :通告程序會因副作用被禁用,且需要重新啓用。
另請參閱 handle () 和 setEnabled ().