使用目的:想屏蔽掉鼠标滚轮对于tableWidget滑动条的影响
关键点:接收鼠标滚轮事件的是tableWidget的滑动条、事件过滤器
总结:事件过滤器的使用。
使用事件过滤器的过程:
①在.h文件中声明事件过滤器
bool eventFilter(QObject *ojb, QEvent *event);
其中,obj是表示事件的对象,event表示事件
②为控件(tableWidget的滑动条)安装事件过滤器
ui->tableWidgetFile->verticalScrollBar()->installEventFilter(this);
③实现事件过滤器
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
if(obj==ui->tableWidgetFile->verticalScrollBar())
{
if(event->type()==QEvent::Wheel)
{
QWheelEvent *wheelEvent=static_cast<QWheelEvent *>(event);
if(wheelEvent->delta()>0)
{
//实现1,这里你可以填写自己想要实现的效果
qDebug()<<"上";
}
else
{
//实现2,这里你可以填写自己想要实现的效果
qDebug()<<"下";
}
return true;
}
else
return false;
}
else
return QMainWindow::eventFilter(obj,event);
}