嗨,我有一个关于如何在 pyside2 (pyqt) 中正确填充 QGraphicsPathItem 的问题。目前我正在编写一个 gerber 文件可视化工具,对于具有多个几何形状的形状,我正在使用路径将它们作为一个对象。
虽然在填充项目时,它会在一些但不是所有路径区域留下空隙。标记为 1,2 和 3 的对象区域的所有单路径对象都以相同的方式创建,但填充方式不同。这是使用填充规则 Qt.WindingFill。
1) 正确填写
2)圆圈与其他 1 个对象重叠的地方很清楚,但在与其他 2 个对象重叠的地方被填充(这看起来像oddevenfill)
3)我不能说这里发生了什么我不知道
这是路径如何构建的粗略过程,它只是一个矩形,然后是另一个横向分层,角落上有 4 个圆圈
我已经尝试过只使用单个对象,所以 2 个 QgraphicsRectItems 和 4 个椭圆项目,最终结果很好,但是我有 6 个超过 1 的对象,并且可能有数千个这样的对象,所以性能是使用路径项目超过负载的痛苦原因单项。
所以我要总结的问题是为什么它以不同的方式填充它们,有没有办法让它不那样做?