Код, который вы видите в документации Qt, действителен. Использование static_cast
может использоваться и заменяет dynamic_cast
только в том случае, если вы точно знаете, что указатель, который вы хотите привести от точек к объекту класса, к которому вы хотите привести. В своем вопросе вы опускаете очень важные детали. Перед выполнением static_cast
проверяется тип:
if (event->type() == MyCustomEventType) {...}