QGradient和QBrush一起使用来指定渐变填充。
Qt支持的填充:
- 线性渐变(linear gradient),在起点和终点之间插值颜色
- 辐射渐变(radial gradient),在焦点和围绕它的圆的端点之间插入颜色
- 锥形渐变(Conical gradient),在中心和焦点圆之间插值颜色
线性渐变在起点和终点之间插值颜色
setStart() | 设置起点 |
start() | 返回起点 |
setFinalStop() | 设置终点 |
finalStop() | 返回终点 |
setSpread() | 设置扩散方式 |
setColorAt() | 设置颜色 |
需要注意的是:确定了起始点和结束点之后,会将结束点和起始点平分,起始点位置为0.0,结束点位置为1.0 ,通过比例设置颜色。
QGradient::Spread
PadSpread | 垫展(默认) |
ReflectSpread | 反射传播 |
RepeatSpread | 重复传播 |
void Widget::paintEvent(QPaintEvent *event)//绘画事件
{QPainter painter(this);QPen pen;QVector sing;qreal space=4;//空格数sing<<1<
简单的径向渐变在焦点和围绕它的圆的端点之间插入颜色。扩展的径向渐变在焦点圆和中心圆之间插值颜色。由两个圆定义的圆锥体外部的点将是透明的。对于简单的径向渐变,焦点被调整为位于中心圆内,而焦点可以在扩展的径向渐变中具有任何位置。
构造函数:
QRadiaGradient(const QPointF ¢er, qreal centerRadius,const QPointF &focalPoint, qreal focalRadius)
- center 圆心
- centerRadius 圆的半径
- focalPoint 焦点
- focalRadius 焦点半径
- 焦点位置为0,圆环位置为1,然后在中间穿插颜色
常用的函数:
setSpread() | 设置渐变方式 |
centerRadius() | 返回圆的半径 |
center() | 返回中心坐标 |
focalRadius() | 返回焦点半径 |
focalPoint() | 返回焦点坐标 |
setxxxx | 可以设置以上的坐标和半径 |
setSpread()设置渐变方式:
QGradient::Spread
void Widget::paintEvent(QPaintEvent *event)//绘画事件
{QPainter painter(this);QPen pen;QVector sing;qreal space=4;//空格数sing<<1<
圆锥渐变围绕中心点逆时针插值颜色。
构造函数:
QCoicalGradient(const QPointF &cneter,qreal angle)
- cneter 中心点
- angle 角度(0-360)
- 沿逆时针方向开始的位置为0,旋转一圈后为1
常用函数:
setColorAt() | 设置颜色 |
setCenter() | 设置中心点 |
setAngle() | 设置起始位置 |
void Widget::paintEvent(QPaintEvent *event)//绘画事件
{QPainter painter(this);QPen pen;QVector sing;qreal space=4;//空格数sing<<1<
上一篇:描述节日和庆典的习语