2010-02-06 16 views
7

Próbuję sprawdzić, czy dany punkt (x, y) znajduje się na lub w pobliżu konturu z QGraphicsPathItem.Jak sprawdzić bliskość konturu obiektu QGraphicsPathItem?

Nie zrobi tego: te również zwrócą wartość True, jeśli punkt znajduje się w obszarze we wnętrzu ścieżki, natomiast chcę przetestować tylko punkty na konturze. Jak mogę to zrobić?

Odpowiedz

2

Po zaksięgowaniu pytanie znalazłem następujące rozwiązanie:

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 
Powiązane problemy