Как я могу перечислить макеты внутри макета?

Я могу перечислить виджеты внутри макета, но мне нужно перечислить виджеты внутри макетов внутри макета...

Я пытаюсь:

  while (QHBoxLayout* currentLayout = m_Layout->findChild<QHBoxLayout*>()) {
    while (QCheckBox* currentCheckbox = currentLayout->findChild<QCheckBox*>()) {
      if (currentCheckbox->isChecked()) {

      }
    }
  }

Но этот код просто застрял... Я думаю, возможно, потому что я не могу найти QHBoxLayout, есть ли другие возможные способы перечисления разметки внутри разметки?

Спасибо

1 ответ

Решение
for (int i = 0; i < layout->count(); ++i) {
    QLayoutItem *item = layout->itemAt(i);
    if (item->widget()) {
        processWidget(item->widget());
    } else if (item->layout()) {
        processLayout(item->layout());
    }
}
Другие вопросы по тегам