Cómo probar proximidad al contorno de una QGraphicsPathItem?
-
19-09-2019 - |
Pregunta
Estoy tratando de probar si un punto dado (x, y)
se encuentra en o cerca de la contornos de un QGraphicsPathItem
.
Uso QGraphicsItem.contains()
o .collidesWithItem() / Path()
no va a hacer: los que también se devuelven true si el punto está contenido dentro de la zona en el interior de la vía, mientras que yo quiero sólo para probar puntos en el contorno. ¿Cómo puedo lograr eso?
Solución
Después de la publicación de la pregunta que piensan que la solución:
path = QPainterPath(...) # Path we are testing against
point = QPointF(...) # Current position
stroker = QPainterPathStroker()
stroker.setWidth(10) # Distance which we consider "on" the path
stroke = stroker.createStroke(path)
if stroke.contains(point):
# point is on path
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow