pyside2 QGraphicsPathItem WindingFill

时间:2019-02-06 21:16:31

标签: pyqt pyqt5 qgraphicsscene pyside2 qgraphicspathitem

嗨,我有一个问题,关于如何在pyside2(pyqt)中正确填充QGraphicsPathItem。目前,我正在编写gerber文件可视化程序,对于具有多种几何形状的形状,我正在使用一条路径将其作为一个对象。

尽管在填充项目时会在某些但并非所有路径区域中留有空隙。filled objects标记为1,2和3的对象所有以相同方式创建但以不同方式填充的单个路径对象。这是使用填充规则Qt.WindingFill。

1)填充正确

2)清楚的是,圆与其他1个对象重叠,但与2个其他对象重叠,则被填充(这看起来像奇数填充)

3)我不知道这是怎么回事我不知道

这是如何构建路径的粗略过程,即如何构建一个矩形,然后将其横向放置在另一个角上,每个角上有4个圆 enter image description here

参考的最小代码示例: enter image description here

我仅使用单个对象进行了实验,所以有2个QgraphicsRectItems和4个椭圆项,最终结果很好,但是我有1个以上的6个对象,并且可能有成千上万个,因此性能是使用路径项的痛苦原因超载的单个物品。

所以我要总结的问题是为什么它填充它们的方式不同,有没有办法让我不这样做呢?

1 个答案:

答案 0 :(得分:0)

修复它,问题是我不记得了,但是与多边形绘制不正确有关