0

所以我想改变 QGraphicsScene 中 QGraphicsSvgItem 的颜色。我有这个小代码片段:

from PyQt5 import (QtWidgets as qtw, QtCore as qtc, QtGui as qtg, QtSvg as qsvg)

class HitIcon(qsvg.QGraphicsSvgItem):

    def __init__(self, field):
        super(HitIcon, self).__init__('my.svg'))
        self.setScale(.3)
        self._brush = qtg.QBrush(qtc.Qt.red)
        self.update()

    def paint(self, painter=None, Style=None, widget=None):
        painter.fillRect(self.boundingRect(), self._brush)


这会用指定的颜色填充 svgitem 的完整 boundingRect。我搜索了 QPainter 的文档以找到一种仅填充 svg 路径但找不到任何东西的方法。

我还尝试了以下方法:

painter.fillPath(self.clipPath(), self._brush)

painter.fillRect(self.clipPath(), self._brush)
4

0 回答 0