5.1 主要功能事件的分发。
5.2 bool event(QEvent *e)
5.3 返回值如果是true代表用户自己处理
5.4 false系统处理 最好抛给父类去处理
5.5 static_cast<转换类型> (原对象)
5.6 e->type()== QEvent::MouseButtonPress具体事件
以下处理表示拦截鼠标按下事件
//事件的分发
bool MyLabel::event(QEvent *e)
{
//通常不会做拦截,event只做分发
if(e->type()== QEvent::MouseButtonPress)
{
QMouseEvent * ev = static_cast<QMouseEvent *> (e);
QString str = QString("Event !!!x = %1 y = %2").arg(ev->x()).arg(ev->y());
qDebug()<<str;
return true;
}
//其他事件 让父亲做默认处理
return QLabel::event(e);
}