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。
構造事件通知采用給定 parent 。它啓用通知,並看守事件 hEvent .
通知默認是啓用的,即,它發射 activated () 信號每當告知相應事件時。不管怎樣,明確啓用或禁用事件通知通常是明智的。
另請參閱 setEnabled () 和 isEnabled ().
構造事件通知采用給定 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).
返迴在通知中有注冊的 HANDLE。
另請參閱 setHandle ().
返迴
true
若通知被啓用;否則返迴
false
.
另請參閱 setEnabled ().
注冊 HANDLE hEvent 。舊 HANDLE 將被自動取消注冊。
注意 :通告程序會因副作用被禁用,且需要重新啓用。
另請參閱 handle () 和 setEnabled ().