2012-06-08 27 views
1

在下面的屏幕截图中,所有节点都是从QGraphicsItem派生的,所有边都由QPainterPath的实例绘制。通过QGraphicsItem剪辑QPainterPath

(彩色为清晰起见)

是否有可能有节点夹/模糊的边缘?理想情况下,只要“进入”一个节点,我就希望边缘不可见。这是可能与QPainterPath或我必须使用另一种方式来绘制路径?

+4

你可以用白色填充节点画家路径,并在边缘后面绘制它们吗?这将是一个非常简单的解决方案,如果它适用于您的情况。 –

+0

@DaveMateer好吧,它有点复杂。我的“绘图算法”首先绘制一个节点,然后绘制所有的入边。是否有可能获得交点? – TeaOverflow

回答

0

如果您使用GraphicsLineItem而不是QPainterPath,那么您可以访问setZValue来执行此操作。

我不会立即看到用QPainterPath做到这一点的方法。

+0

-1这根本不能解决问题。每个节点将由4个单独的场景项目(每个边缘一个)组成,使它们无法填充,并大大增加了写入的锅炉板的数量。 'QGraphicsPolygonItem'会更有意义,但即使如此,除非节点将被填充颜色(如Dave Mateer所述),加入的线条仍然可见。 – cmannett85

+1

节点已经从QGraphicsItem派生。快速入门是在填充节点类的后台后使用QGraphicsLineItem。更好的选择可能是查看文档中的示例示例。 http://qt-project.org/doc/qt-4.8/graphicsview-diagramscene.html – SquatcHman