// инклуды#include <QEvent>#include <QKeyEvent>// объявление в H файлеbool eventFilter(QObject *obj, QEvent *event);// реализация в CPPbool ИмяВашегоКласса::eventFilter(QObject *obj, QEvent *event){ //qDebug() << event; // реагируем на нажатия клавиш if (event->type() == QEvent::KeyPress /*&& obj->objectName() == "Имя виджета"*/) { QKeyEvent *keyEvent = qobject_cast<QKeyEvent *>(event); switch (keyEvent->key()) { case Qt::Key_Insert: break; case Qt::Key_Delete: break; case Qt::Key_Return: break; case Qt::Key_Escape: break; default: qDebug() << "IMPOSSIBLE ERROR" << __FILE__ << __FUNCTION__ << __LINE__; break; } } return QObject::eventFilter(obj, event); }// установка фильтра в любой виджет виджетУКоторогоНадоПерехватывать->installEventFilter(виджетУКоторогоИмеетсяФункцияEventFilter)
C++ (Qt)bool Widget::eventFilter(QObject *obj, QEvent *event) { ui->lineEdit->setText("Yess"); return QObject::eventFilter(obj, event); }