向 QGraphicsItem 添加渐变渐变
Add gradient ramp to QGraphicsItem
如何将 QLinearGradient()
添加到 Qrect()
。我只能添加纯色 Qt.black
等。示例代码:
class ItemClass(QGraphicsItem):
def __init__()
super(ItemClass, self).__init__()
#
def boundingRect(self):
return QRectF(x, y, w, h)
def paint(self, painter, opt, w):
rec = self.boundingRect()
painter.fillRect(rec, #Here I need gradient ramp)
可以直接传QLinearGradient
如下图:
class ItemClass(QGraphicsItem):
def boundingRect(self):
x, y, w, h = -25, -25, 50, 50
return QRectF(x, y, w, h)
def paint(self, painter, opt, w):
rect = self.boundingRect()
lgrad = QLinearGradient(rect.topLeft(), rect.bottomLeft())
lgrad.setColorAt(0.0, Qt.red);
lgrad.setColorAt(1.0, Qt.yellow)
painter.fillRect(rect, lgrad)
如何将 QLinearGradient()
添加到 Qrect()
。我只能添加纯色 Qt.black
等。示例代码:
class ItemClass(QGraphicsItem):
def __init__()
super(ItemClass, self).__init__()
#
def boundingRect(self):
return QRectF(x, y, w, h)
def paint(self, painter, opt, w):
rec = self.boundingRect()
painter.fillRect(rec, #Here I need gradient ramp)
可以直接传QLinearGradient
如下图:
class ItemClass(QGraphicsItem):
def boundingRect(self):
x, y, w, h = -25, -25, 50, 50
return QRectF(x, y, w, h)
def paint(self, painter, opt, w):
rect = self.boundingRect()
lgrad = QLinearGradient(rect.topLeft(), rect.bottomLeft())
lgrad.setColorAt(0.0, Qt.red);
lgrad.setColorAt(1.0, Qt.yellow)
painter.fillRect(rect, lgrad)