本文主要是介绍EventFilter函数,屏蔽Up、Down等键盘事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先需要有EventFilter函数:
https://blog.csdn.net/qq_46630245/article/details/135472802
.h
protected://void paintEvent( QPaintEvent *painter );bool eventFilter(QObject *obj,QEvent *event);
.cpp
//事件过滤器
bool form1::eventFilter(QObject *watched,QEvent *event)
{//交由QWidget的事件过滤器处理return QWidget::eventFilter(watched,event);
}
其次,将需要按键Up、Down、Enter等写进去
记得写完之后,返回true表示EventFilter不再处理,如下:
//事件过滤器
bool form1::eventFilter(QObject *watched, QEvent *event)
{if( event->type() == QEvent::KeyPress ){QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);//=============Qt::Key_Up=======================if( keyEvent->key() == Qt::Key_Up ){//触发事件、调用函数等,自己写代码return true;//标识执行过滤,eventFilter不再处理}//==================Qt::Key_Down========================else if( keyEvent->key() == Qt::Key_Down || keyEvent->key() == Qt::Key_Return ){//触发事件、调用函数等,自己写代码return true;//标识执行过滤,eventFilter不再处理}else{return false;//继续交给EventFilter进行处理}}//交由QWidget的事件过滤器处理return QWidget::eventFilter(watched,event);
}
这篇关于EventFilter函数,屏蔽Up、Down等键盘事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!