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