Qt QGraphicsView:保留项目大小

Qt QGraphicsView:保留项目大小,qt,qgraphicsview,Qt,Qgraphicsview,在Qt图形视图中,我是真正的新手 我有一个非常大的2D场景,应该使用QGraphicsView进行渲染。场景包含多个关注点,每个关注点都应该使用一些标记(正方形、三角形、椭圆形等)绘制。问题是,尽管场景变换(放大或缩小),标记还是应该以恒定大小绘制。所以为了正确地绘制标记,我需要在paint方法中结合它在场景坐标中的位置和它在像素中的尺寸。最有效的方法是什么?当然,每次缩放场景或调整视图大小时,我都可以重新计算项目位置以查看坐标,但我认为这不是正确的解决方案。有什么想法吗?假设标志是QGraph

在Qt图形视图中,我是真正的新手

我有一个非常大的2D场景,应该使用QGraphicsView进行渲染。场景包含多个关注点,每个关注点都应该使用一些标记(正方形、三角形、椭圆形等)绘制。问题是,尽管场景变换(放大或缩小),标记还是应该以恒定大小绘制。所以为了正确地绘制标记,我需要在
paint
方法中结合它在场景坐标中的位置和它在像素中的尺寸。最有效的方法是什么?当然,每次缩放场景或调整视图大小时,我都可以重新计算项目位置以查看坐标,但我认为这不是正确的解决方案。有什么想法吗?

假设标志是QGraphicsItems,设置标志:

QGraphicsItem::ItemIgnoresTransformations

正如上面提到的那样,您可以为从QGraphicsItem类派生的任何项目设置标志QGraphicsItem::ItemIgnorestTransformations,以避免缩放时的转换。您可以阅读Qt文档以了解附加标志,这些标志将有助于理解每个QGraphicsItem的呈现