Как протестировать близость к схеме QGraphicsPathItem?

Я пытаюсь протестировать ли данная точка (x, y) расположен на или близко к схеме a QGraphicsPathItem.

Используя QGraphicsItem.contains() или .collidesWithItem() / Path() не сделает: они также возвращают True, если точка содержится в области на внутренней части пути, в то время как я хочу протестировать только на точки на схеме. Как я могу выполнить это?

7
задан ire_and_curses 6 February 2010 в 23:12
поделиться

1 ответ

После публикации вопроса я нашел следующее решение:

    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
2
ответ дан 7 December 2019 в 18:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: