0

我正在尝试findChildren从我的程序中提取参数列表。代码如下:

QList<QPointer<TParameter> > theFullParameterList;

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

它编译得很好,但是当我在调试中进入 (this) 时,有几种成员类型,QPointer<TParameter>但我的theFullParameterList出现是空的。 TParameter是一个自定义类。有什么方法可以找到在 a 内的那个班级的孩子QPointer吗?

4

1 回答 1

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

于 2014-09-17T03:32:49.467 回答