我正在尝试使用findChildren
从我的程序中提取参数列表。代码如下:
QList<QPointer<TParameter> > theFullParameterList;
foreach(TParameter *child, this->findChildren<TParameter* >())
{
theFullParameterList << QPointer<TParameter>(child);
}
它编译得很好,但是当我在调试中进入(this)时,QPointer<TParameter>
有几种成员类型,但我的theFullParameterList
出现空白。 TParameter
是一个自定义类。有没有办法找到QPointer
范围内的那个班级的孩子?
答案 0 :(得分: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