我在此示例Callout Example中实现了自定义的Callout类

QPolarChart *chart = new QPolarChart();
Callout *callout = new Callout(chart);


如果我只能访问图表(标注超出范围),如何重新获得对标注的访问权限。我考虑过使用

QObjectList children = chart->children();


但标注不在这里。
如何再次访问标注?

最佳答案

您必须使用childItems(),这将返回QGraphicsItem的子级。

 for(QGraphicsItem *childItem: chart->childItems()){
     if(Callout *c = dynamic_cast<Callout *>(childItem)){
         //use c
     }
 }

09-06 06:03