in A widget,i use
virtual void mousePressEvent(QMouseEvent *);
virtual void mouseReleaseEvent(QMouseEvent *);
virtual void mouseDoubleClickEvent(QMouseEvent *);
but i find i can’t distinguish clike and doubleclike,so i want to use eventFilter() to distinguish. but i write
installEventFilter(this); // this is a widget,
bool CSSEMainViewPro::eventFilter(QObject *object, QEvent *event)
{
qDebug()<<"eventFilter";
if (object == this)
{
if(event->type() == QEvent::MouseButtonPress)
{
QMouseEvent* pMouseEvent = static_cast<QMouseEvent *>(event);
mousePressEvent( pMouseEvent );
return true;
}
if(event->type() == QEvent::MouseButtonRelease)
{
QMouseEvent* pMouseEvent = static_cast<QMouseEvent *>(event);
mouseReleaseEvent(pMouseEvent);
return true;
}
if(event->type() == QEvent::MouseButtonDblClick)
{
QMouseEvent* pMouseEvent = static_cast<QMouseEvent *>(event);
mouseDoubleClickEvent(pMouseEvent);
return true;
}
}
return QWidget::eventFilter(object,event);
}
but eventFilter()can’t be use .how to use it?
edit: fixed your use of @ tags;Andre
↧