Qt - не удается получить доступ к динамически созданным виджетам QHBoxLayout

При нажатии кнопки я создаю QHBoxLayout и добавляю к нему три виджета (выпадающий список и два счетчика). Затем я добавляю созданный QHBoxLayout в вертикальный макет, уже определенный в представлении Qt Design.

В другом методе я хочу получить доступ к каждому из этих определенных QHBoxLayouts и получить значения из каждого из их полей со списком и счетчиков. При повторении каждого из QHBoxLayouts я вижу, что внутри каждого макета действительно есть 3 «вещи» (используя метод count()), однако я не могу получить к ним доступ и всегда получаю пустой набор результатов при попытке чтобы найти детей макета.

//In the on click method I am doing the following

QHBoxLayout *newRow = new QHBoxLayout();

QComboBox *animCombo = new QComboBox();
QSpinBox *spinStart = new QSpinBox();
QSpinBox *spinEnd = new QSpinBox();

newRow->addWidget(animCombo);
newRow->addWidget(spinStart);
newRow->addWidget(spinEnd);

ui->animLayout->addLayout(newRow); //animLayout is a vert layout


//in another method, I want to get the values of the widgets in the horiz layouts

foreach( QHBoxLayout *row, horizLayouts ) {

  qDebug() << row->count(); //outputs 3 for each of the QHBoxLayouts

}

Любая помощь очень ценится, спасибо!


person mumush    schedule 21.07.2014    source источник


Ответы (1)