ui->file->installEventFilter(this); //
ui->file->viewport()->installEventFilter(this); //复合控件添加过滤器
上面是安装和table widget 类似控件的过滤器
ui-〉file->removeEventFilter(this);
ui->file->viewport()->removeEventFilter(this);
移除过滤器
需要重写eventFilter(QObject *obj, QEvent *eve) 函数
bool my_event::eventFilter(QObject *obj, QEvent *eve)
{
qDebug() << "event";
if (
eve->type() == QEvent::MouseButtonDblClick
|| eve->type() == QEvent::MouseButtonPress
|| eve->type() == QEvent::MouseButtonRelease)
{
qDebug() << "ok";
return true;
}
else
{
qDebug() << "this ";
qDebug("type is %d",eve->type());
return QObject::eventFilter(obj, eve);
}
}
滤除的事件要返回true
创建`添加`移除要在同一线程