概述
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之间:
属性文档
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
返回事件的类型。
最后
以上就是娇气香水为你收集整理的QEvent类参考详细介绍成员类型文档属性文档成员函数文档的全部内容,希望文章能够帮你解决QEvent类参考详细介绍成员类型文档属性文档成员函数文档所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复