您可以使用QRadialGradient类来创建径向渐变。
以下是一个简单的示例:
from PyQt5.QtCore import Qt, QPointF
from PyQt5.QtGui import QPainter, QRadialGradient
from PyQt5.QtWidgets import QWidget, QApplication
class GradientCircle(QWidget):
def paintEvent(self, event):
painter = QPainter(self)
gradient = QRadialGradient(QPointF(self.width()/2, self.height()/2), self.width()/2)
gradient.setColorAt(0, Qt.red)
gradient.setColorAt(0.5, Qt.yellow)
gradient.setColorAt(1, Qt.green)
painter.setBrush(gradient)
painter.drawEllipse(0, 0, self.width(), self.height())
if __name__ == '__main__':
app = QApplication([])
widget = GradientCircle()
widget.resize(200, 200)
widget.show()
app.exec_()
在这个示例中,我们在paintEvent()函数中使用了QPainter和QRadialGradient来绘制径向渐变圆形。我们首先创建了一个QRadialGradient对象,并设置了渐变颜色,在这个例子中为红色、黄色和绿色。然后,我们使用setBrush()方法将渐变设置为画刷,并使用drawEllipse()方法绘制圆形。其中QPointF表示渐变的圆心坐标,self.width()/2表示渐变的半径。