Code:
gui.graphicsView->installEventFilter(this);
void MainWindow
::keyReleaseEvent(QKeyEvent *keyEvent
) {
...
}//keyReleaseEvent
void MainWindow
::keyPressEvent(QKeyEvent *keyEvent
) {
...
}//keyPressEvent
bool MainWindow
::eventFilter(QObject *obj,
{
QKeyEvent *keyEvent
= NULL;
//event data, if this is a keystroke event bool result = false;//return true to consume the keystroke
if (event
->type
() == QEvent::KeyPress) {
keyEvent = dynamic_cast<QKeyEvent*>(event);
this->keyPressEvent(keyEvent);
result = true;
}//if type()
else if (event
->type
() == QEvent::KeyRelease) {
keyEvent = dynamic_cast<QKeyEvent*>(event);
this->keyReleaseEvent(keyEvent);
result = true;
}//else if type()
//### Standard event processing ###
else
result
= QObject::eventFilter(obj, event
);
return result;
}//eventFilter