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?

¿Fue útil?

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
scroll top