Если у вас есть контейнер, в котором хранятся указатели виджетов формы, вы можете реализовать функцию, которая перебирает виджеты, проверяет тип виджета и проверяет определенное свойство, в зависимости от этого типа. Например:
bool isFormComplete(const QList<QWidget *> &widgets)
{
for ( auto w : widgets ) {
if ( auto lineEdit = qobject_cast<QLineEdit *>(w) ) {
if ( lineEdit->text().isEmpty() ) {
// An empty edit box.
return false;
}
} else if ( auto combo = qobject_cast<QComboBox *>(w) ) {
if ( combo->count() == 0 ) {
// An empty combo box.
return false;
}
}
}
return true;
}
, где я использую функцию qobject_cast()
для проверки типов виджетов.