QWinEventNotifier 类

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

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

公共函数

QWinEventNotifier (QObject * parent = Q_NULLPTR)
QWinEventNotifier (HANDLE hEvent , QObject * parent = Q_NULLPTR)
~QWinEventNotifier ()
HANDLE handle () const
bool isEnabled () const
void setHandle (HANDLE hEvent )

公共槽

void setEnabled (bool enable )

信号

void activated (HANDLE hEvent )

重实现保护函数

virtual bool event (QEvent * e )

额外继承成员

详细描述

QWinEventNotifier class provides support for the Windows Wait functions.

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 () 信号每当告知相应事件对象时。

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 = Q_NULLPTR)

构造事件通知采用给定 parent .

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

构造事件通知采用给定 parent 。它启用通知,并看守事件 hEvent .

通知默认是启用的,即,它发射 activated () 信号每当告知相应事件时。不管怎样,明确启用或禁用事件通知通常是明智的。

另请参阅 setEnabled () 和 isEnabled ().

QWinEventNotifier:: ~QWinEventNotifier ()

销毁此通知程序。

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

此信号被发射每当事件通知被启用并告知相应 HANDLE。

事件状态在过程中未被修改,因此,若是手动重置事件,需要重置它在通知后。

对象被传入 hEvent 参数。

注意: 这是私有信号。它可以用于信号连接,但不能由用户发射。

另请参阅 handle ().

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

重实现自 QObject::event ().

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 ( HANDLE hEvent )

注册 HANDLE hEvent 。旧 HANDLE 将被自动取消注册。

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

另请参阅 handle () 和 setEnabled ().