如何更改pyqt5中QGraphicsSvgItem的颜色?

2024-09-27 00:15:14 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想改变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)

Tags: svgselfnoneinit颜色defaspainter

热门问题