2

您好可以创建我自己的 QGradient 类型吗?例如,我们有 QLinearGradient,但我还需要不同的类型,例如 Exponential Up、Bump、Spike、Exponential Down。最好的方法是什么?

4

1 回答 1

1

由于 python QGradiant 对象包装了相同的 C++ 变体,而这又可能映射到硬件或图形驱动程序支持,我想你所拥有的 Linear 类型从一般的角度来看就是你将要得到的一切。但是你总是可以使用线性梯度来合成这些。这是(未经测试)制作红色渐变的示例,该示例应用正方形来倾斜渐变的进展。

gradient = QLinearGradient(QPointF(100, 100), QPointF(200, 200))
for index in range(101):
    f = index / 100.0
    gradient.setColorAt(f, QColor((f ** 2) * 255, 0, 0, 255)) 
于 2012-12-27T19:53:51.247 回答