2010-02-06 7 views
7

J'essaie de tester si un point donné (x, y) est situé sur ou à proximité du aperçu d'un QGraphicsPathItem. Ne le fera pas: ceux qui retournent aussi True si le point est contenu dans la zone à l'intérieur du chemin, alors que je veux tester uniquement les points sur le contour. Comment puis-je accomplir cela?Comment tester la proximité du contour d'un QGraphicsPathItem?

Répondre

2

Après avoir affiché la question que je trouve la solution suivante:

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