【问题标题】:QGraphicsView: preserve item sizeQGraphicsView:保留项目大小
【发布时间】:2015-06-05 15:50:21
【问题描述】:

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

【问题讨论】:

    标签: qt qgraphicsview


    【解决方案1】:

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

    QGraphicsItem::ItemIgnoresTransformations
    

    【讨论】:

      【解决方案2】:

      正如 TheDarkKnight 上面所说,您可以为从 QGraphicsItem 类派生的任何 Item 设置标志 QGraphicsItem::ItemIgnoresTransformations 以避免在缩放时发生变形。您可以阅读 Qt 文档中的附加标志,这将有助于理解每个 QGraphicsItem 的呈现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-26
        • 2012-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-30
        • 1970-01-01
        相关资源
        最近更新 更多