PyQt рисует QPixmap вдоль QPainterPath

Я хочу рисовать шаблоны (предпочтительно как QPixmap) вдоль QGraphicsPathItem внутри моего QGraphicsView. Это должно работать аналогично заполнению QBrush текстурой с помощью QBrush.setTexture("example.png"). Есть ли способ сделать это на QPen? Я не мог найти ничего, связанного с этим в документации PyQt.

Текстура должна быть размещена так же, как на этом примере.

Не имеет значения, сохраняет ли текстура собственную ширину или масштабируется до ширины QPen.

Есть ли какой-то обходной путь для реализации этого? Я думал об использовании QTransform для преобразования QPixmap в форму желаемого QGraphicsPathItem.


person bravestarr    schedule 12.07.2020    source источник


Ответы (1)


Я до сих пор не нашел статистического решения. Но для людей, которым не требуется выравнивание шаблона по пути, вы можете использовать этот фрагмент кода для своего QPen:

pen = QPen()
patternBrush = QBrush(QPixmap('patter.png'))
pen.setBrush(patternBrush)
pen.setWidth(5)

Он заполняет ваш QGraphicsPathItem, например этот

Я надеюсь, что это полезно для других.

person bravestarr    schedule 22.07.2020