You can first retrieve the getSelectedTabAsWidget() as a QWidget, check that it's not null, and if qobject_cast<QMdiArea*>() doesn't return NULL.
Snippet 1:
QWidget* selectedWidget = getSelectedTabAsWidget();
if ( selectedWidget == NULL ) {
return;
}
QMdiArea* mdiArea = qobject_cast<QMdiArea*>(selectedWidget);
if ( mdiArea == NULL ) {
return;
}
// Here, we know that mdiArea is indeed a QMdiArea.
Snippet 2:
QWidget* selectedWidget = getSelectedTabAsWidget();
if ( selectedWidget == NULL ) {
return;
}
if ( ! selectedWidget->inherits(QMdiArea::staticMetaObject.classname())
return;
// Here, we know that mdiArea is indeed a QMdiArea.
QMdiArea* mdiArea = qobject_cast<QMdiArea*>(selectedWidget);