本系列文章长期更新修改.
QLinearGradient,QRadialGradient,QConicalGradient分别是线性渐变,径向渐变和角度渐变,继承于QGradient.
属性:
QLinearGradient
Methods
- __init__ (self)
- __init__ (self, QPointF start, QPointF finalStop)
- __init__ (self, float xStart, float yStart, float xFinalStop, float yFinalStop)
- __init__ (self, QLinearGradient)
- QPointF finalStop (self)
- setFinalStop (self, QPointF stop)
- setFinalStop (self, float x, float y)
- setStart (self, QPointF start)
- setStart (self, float x, float y)
- QPointF start (self)
QRadialGradient
Methods
- __init__ (self)
- __init__ (self, QPointF center, float radius, QPointF focalPoint)
- __init__ (self, QPointF center, float centerRadius, QPointF focalPoint, float focalRadius)
- __init__ (self, QPointF center, float radius)
- __init__ (self, float cx, float cy, float radius, float fx, float fy)
- __init__ (self, float cx, float cy, float centerRadius, float fx, float fy, float focalRadius)
- __init__ (self, float cx, float cy, float radius)
- __init__ (self, QRadialGradient)
- QPointF center (self)
- float centerRadius (self)
- QPointF focalPoint (self)
- float focalRadius (self)
- float radius (self)
- setCenter (self, QPointF center)
- setCenter (self, float x, float y)
- setCenterRadius (self, float radius)
- setFocalPoint (self, QPointF focalPoint)
- setFocalPoint (self, float x, float y)
- setFocalRadius (self, float radius)
- setRadius (self, float radius)
QConicalGradient
Methods
- __init__ (self)
- __init__ (self, QPointF center, float startAngle)
- __init__ (self, float cx, float cy, float startAngle)
- __init__ (self, QConicalGradient)
- float angle (self)
- QPointF center (self)
- setAngle (self, float angle)
- setCenter (self, QPointF center)
- setCenter (self, float x, float y)
详细分析:
1.渐变参数
这三个类的特有函数其实都是和坐标等参数有关,不同的渐变类型有不同的参数.
对于渐变共有的属性设置和解释参考QGradient篇.
2.线性渐变
线性渐变的参数有起点start和终点finalStop,那么颜色就从start到finalStop之间发生渐变.
3.径向渐变
径向渐变的参数比较复杂,有中心点center,焦点focalPoint,半径radius和焦半径focalRadius.
中心点和半径确定了圆A,而焦点和焦半径则确定了圆B,一般圆A应该包含圆B.
那么圆A挖去圆B的部分就是渐变发生的区域,颜色从圆B的边上向圆A的边上发生渐变.
4.角度渐变
角度渐变的参数有中心点center和角度angle.
center向angle角度发出一条射线,从射线向逆时针方向绕一圈即是颜色发生渐变的过程.