QGraphicsView:保留项目大小

QGraphicsView: preserve item size

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

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

QGraphicsItem::ItemIgnoresTransformations

正如 TheDarkKnight 上面所说,您可以为从 QGraphicsItem class 派生的任何 Item 设置标志 QGraphicsItem::ItemIgnoresTransformations 以避免缩放时发生变形。您可以阅读 Qt 文档以了解其他标志,这将有助于理解每个 QGraphicsItem 的渲染。