Qt の でアンチエイリアシング レンダリングを使用すると、描画がQGraphicsScene
期待どおりに表示されない動作があります: 重なっている線が暗くなります。ドキュメントでこの動作の説明を見つけることができませんでした。また、無効にする方法が見つかりません。
たとえば、そのようなポリゴンを描画したい場合:
ポイントの数が多いため、線が重ならないようにすることはできません。ただし、アンチエイリアスが有効になっているため、一部の境界線は他の境界線よりも「太く」表示されます。
これを回避し、アンチエイリアス処理された線をオーバーラップさせながら、同時に暗くならずにレンダリングする方法はありますか?
もちろん、関数を再定義して、重複しない個々の線を手動で描画できることは知ってpaint()
いますが、これは避けたいことです。私は Pyside を使用していますが、paint()
呼び出される頻度が高いため、アプリケーションの速度が大幅に低下します。
編集QPainterPath
/QGraphicsPathItem
の代わりにQPolygon
/を使用してオブジェクトの形状を定義することで修正されましたQGraphicsPolygonItem
。その場合、このmoveTo
機能により、線が重なるのを避けることができます。