Qt'中的抗锯齿;s Qgraphicscene使重叠线变暗

Qt'中的抗锯齿;s Qgraphicscene使重叠线变暗,qt,pyside,Qt,Pyside,在Qt的qgraphicscene中使用抗锯齿渲染时,有一种行为会使图形显示不符合预期:重叠线变暗。我在文档中看不到对这种行为的任何描述,也找不到禁用它的方法 例如,如果我想绘制这样一个多边形: 由于点的数量,不可能没有重叠的线-很好。但由于反走样被激活,一些边界看起来比其他边界“厚” 有没有办法避免这种情况,并使抗锯齿线可以重叠,但同时渲染时不会变暗 当然,我知道我可以重新定义paint()函数并手动绘制不重叠的各条线,但这正是我想要避免的。我正在使用Pyside,这将大大降低应用程序的速度

在Qt的
qgraphicscene
中使用抗锯齿渲染时,有一种行为会使图形显示不符合预期:重叠线变暗。我在文档中看不到对这种行为的任何描述,也找不到禁用它的方法

例如,如果我想绘制这样一个多边形:

由于点的数量,不可能没有重叠的线-很好。但由于反走样被激活,一些边界看起来比其他边界“厚”

有没有办法避免这种情况,并使抗锯齿线可以重叠,但同时渲染时不会变暗

当然,我知道我可以重新定义
paint()
函数并手动绘制不重叠的各条线,但这正是我想要避免的。我正在使用Pyside,这将大大降低应用程序的速度,因为调用
paint()
的频率很高


编辑通过使用
QPainterPath
/
QGraphicsPathItem
而不是
QPolygon
/
QGraphicsPolygonItem
定义对象形状来修复。在这种情况下,
moveTo
功能允许避免重叠的线条。

您可以尝试的另一件事是向坐标(而不是尺寸)添加半个像素。这为我解决了抗锯齿问题

XCoord = int(XValue) + 0.5
YCoord = int(XValue) + 0.5

在此之前,请确保您有整数像素值。

您可以完全禁用抗锯齿,但我认为这不是您的选项,对吗?您如何绘制该多边形?如果使用
QGraphicsPathItem
可以在不绘图的情况下移动笔。所以你不必重叠线。丹尼尔:你说得对,这不是一个选项。阿瓦里斯:目前我所有的符号都是
QGraphicsPolygonItem
s,但我认为你是对的,使用
QGraphicsPathItem
会更聪明。我试试看。谢谢你应该发布一个答案并接受它,而不是将答案添加到问题文本中。但是当你放大(改变比例)时,在某个时候你可能会看到两条截然不同的线,不是吗?@maxime esa从未尝试过。但由于所有行的偏移量相同,因此可以假设它们仍然无法区分。