Проблема в том, что вы думаете, что виджеты, размещенные в макете, являются дочерними элементами макета, но нет, эти виджеты являются дочерними элементами виджета, в котором был создан макет, поэтому в вашем коде "cb" является нулевым указателем, вызывающим проблема. Решением является приведение и проверка правильности указателя:
for (int i = 0; i < ui.testgridLayout->rowCount(); i++){
for (int j = 0; j < ui.testgridLayout->columnCount(); j++){
if (QLayoutItem *item= ui.testgridLayout->itemAtPosition(i, j)) {
if (QComboBox* cb = qobject_cast<QComboBox*>(item->widget())) {
string text = cb->currentText().toLocal8Bit().constData();
}
}
}
}