QEvent类参考

QEvent类参考
QEvent类是所有事件类的基类。事件对象包含事件参数。
#include <QEvent>



详细介绍

            QEvent类是所有事件类的基类。事件对象包含事件参数。
        Qt的主事件循环(QCoreApplication::exec())从事件队列中获取本地窗口系统事件,将它们封装进QEvent中,并且将封装好的事件发送给QObjects。
        一般情况下,事件来源于底层的窗口系统(spontaneous()返回true),但是通过使用QCoreApplication::sendEvent()
和 QCoreApplication::postEvent()人工发送事件也是可以的(spontaneous()返回false)。
       QObjects通过它们的QObject::event()方法被调用来接收事件。该方法可以在子类中被重写以自定义事件处理器和额外的事件类型;QWidget::event()是一个需要注意的示例。默认情况下,事件都被分发给类似QObject::timerEvent()QWidget::mouseMoveEvent()的事件处理器。QObject::installEventFilter()允许一个对象拦截发送给目标对象的事件。
        基本的QEvent仅仅包含一个事件类型参数和一个"accept"标志。"accept"标志可以通过accept()来设置,也可以通过
ignore()清除。默认情况下该标志是被设置的,但是我们不能依赖于这一点,因为有的子类可能会选择在子类构造器中清除
该标志。
        QEvent的子类包含额外的参数用以描述特定的事件。


成员类型文档

枚举类型QEvent::Type
  该枚举类型定义了Qt中合法的事件类型。每个事件类型以及相应的特殊类都列在下表中:


   用户事件的值必须在User和MaxUser之间:


        出于简便考虑,你可以使用registerEventType()函数来为你的应用程序注册和保留一个自定义事件类型。这样做可以使你避免在你的应用程序中偶然重复使用一个已在应用程序其它地方使用的自定义事件类型。


属性文档

accepted: bool
事件对象的接受标志
设置该参数表明事件接收器期望获得该事件。非预期的事件可能会传递给它的父对象。默认情况下isAccept()设置为true,但是
不能依赖于此,因为子类可能会在子类构造器中清除该标志。
出于简便考虑,accept标志可以通过accept()设置,ignore()清除。
相关的函数:
bool isAccepted () const
void setAccepted ( bool accepted )



成员函数文档

1、QEvent::QEvent ( Type type )
构造一个类型为type的事件对象
2、QEvent::~QEvent () [virtual]
销毁事件对象。如果该事件等待被发送,那么它将会被从需要发送的事件列表中移除。
3、void QEvent::accept ()
设置事件对象的"accept"标志,等价于调用setAccepted(true)。
接收了该事件,不接受的事件可能会被传递给它的父窗口部件。
4、void QEvent::ignore ()
清除事件对象的接受标志,等价于调用setAccepted(false)。
清除该标志意味着事件接收器不接收该事件。不能接收的事件可能会被传递给它的父窗口部件。
5、int QEvent::registerEventType ( int hint = -1 ) [static]
注册并返回一个自定义的事件类型。提供的hint参数如果可用则会被采用,否则该函数会返回一个介于QEvent::User和
QEvent::MaxUser 且还没有被注册的值。如果hint参数的值不在QEvent::User和QEvent::MaxUser 之间,那么它会被忽略。
注意:该函数是线程安全的。
6、bool QEvent::spontaneous () const
如果事件源在应用程序之外(一个系统事件)则该函数返回true,否则返回false。
对于绘制事件该函数的返回值是未定义的。
7、Type QEvent::type () const
返回事件的类型。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值