https://doc.qt.io/qt-5/eventsandfilters.html
In QT's offical document, static_cast is used in code like
QKeyEvent *ke = static_cast<QKeyEvent *>(event);
...
MyCustomEvent *myEvent = static_cast<MyCustomEvent *>(event);
However in my experience, dynamic_cast should be used since this is a cast from base to derived Is there any special reason for the static_cast use?