我在Qt Graphics-View中真的很新
我有一个非常大的2D场景,应该使用QGraphicsView渲染。场景包括几个感兴趣的点,每个点应该用一些标记(正方形,三角形,椭圆形等)绘制。问题是尽管场景变换(放大或缩小),标记应该以恒定的大小绘制。因此,为了正确绘制标记,我需要将它在场景坐标中的位置和它在paint
方法中的像素的像素组合起来。最有效的方法是什么?当然,我可以重新计算项目位置,以便在每次放大场景或调整视图大小时查看坐标,但我不认为这是正确的解决方案。那么任何想法?
答案 0 :(得分:2)
假设标志是QGraphicsItems,设置标志:
QGraphicsItem::ItemIgnoresTransformations
答案 1 :(得分:0)
正如TheDarkKnight所述,您可以为从QGraphicsItem类派生的任何Item设置标志 QGraphicsItem :: ItemIgnoresTransformations ,以避免在缩放时进行转换。你可以阅读Qt文档中的附加标志,这将有助于理解每个QGraphicsItem的渲染。