正在查找作为QPointer的子成员



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

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

它编译得很好,但当我在调试中进入(这个)时,QPointer<TParameter>有几个成员类型,但我的theFullParameterList是空的。TParameter是一个自定义类。有没有办法找到QPointer中该班的孩子?

几个问题:

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

相关内容

  • 没有找到相关文章

最新更新