我正在尝试使用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