将qgraphicitem键入到qgraphicwidget



我的qgraphicsscene有一个qgraphicswidget,它不断添加qgraphicsLayoutItem。在graphicsView中,我需要协调场景中的qgraphicsvidget几何体。我试过了QList items=scene()->items();并用类型检查

foreach(QGraphicsItem*项,项){if(item->type()==ItemType){}

但是如何将项转换为qgraphicswidget并将其gemoetry更改为场景坐标。正常项.boundingRect不断返回0,0,10x10

项目的边界矩形位于项目坐标中。要将其映射到场景坐标,请使用QGraphicsItem::mapToScene():

const QRectF mapped = item->mapToScene(item->boundingRect());

要转换QGraphicsItem,您可以简单地使用dynamic_cast或static_cast,或特殊的qgraphicitem_cast:

auto widget = qgraphicsitem_cast<QGraphicsWidget*>(item);

不过,要映射坐标,应该不需要投射。

相关内容

  • 没有找到相关文章

最新更新