طبق جستجو هایی که من کردم مثلا در این لینک و بسیاری از لینک های دیگه، برای تبدیل یک اشاره گر از کلاس والد به یک اشاره گر از کلاس فرزند، روش dynamic_cast رو مناسب تر می دونند و استفاده از static_cast با وجوی که امکانپذیر هست ولی "ناامن" توصیف شده، پس چرا کیوت از این روش تبدیل برای event ها استفاده می کنه؟
مگه تبدیل با dynamic_cast از نوع تبدیل run-time محسوب نمی شه و static_cast از نوع تبدیل compile-time ، پس برای event ها که روش run-time به ظاهر مناسب تر به نظر میاد؟
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::MouseButtonPress)
{
QMouseEvent *mouse = static_cast<QMouseEvent*>(event);
return true;
}
return QMainWindow::eventFilter(obj,event);
}