Поиск дочернего элемента, который является QPointer

Я пытаюсь использовать findChildren вытащить список параметров из моей программы. Код ниже:

QList<QPointer<TParameter> > theFullParameterList;

foreach(TParameter *child, this->findChildren<TParameter* >())
{
theFullParameterList << QPointer<TParameter>(child);
}

Он компилируется нормально, но когда я вхожу в (это) в отладке, есть несколько типов членов QPointer<TParameter> но мой theFullParameterList приходит пустой TParameter это пользовательский класс. Есть ли способ найти детей этого класса, которые находятся в пределах QPointer?

0

Решение

Пара вопросов:

1) Вы уверены, что такие экземпляры этого класса не уничтожаются при вызове findChildren?

2) Вы уверены, что установите родителя для экземпляров класса?

Я могу заселить QList со следующим кодом:

MainWindow::MainWindow()
{
for (int i = 0; i < 10; i++)
new TParameter(this);
}

void MainWindow::on_pushButton_clicked()
{
QList<QPointer<TParameter>> theFullParameterList;

foreach(TParameter *child, findChildren<TParameter*>())
theFullParameterList << QPointer<TParameter>(child);

qDebug() << "Size of list:" << theFullParameterList.size();
}

И вывод: Size of list: 10

0

Другие решения


По вопросам рекламы [email protected]