图中仪表盘和指示灯的边框及高亮效果使用了渐变
Qt自带一个暴强的关于渐变的demo——gradients
该demo详细介绍的如何在QPainter中使用渐变,一共有三种类型的渐变:QLinearGradient、QRadialGradient和QConicalGradient
1.QLinearGradient是线性渐变,也就是颜色的各个分量(red, green, blue)在两点之间的变化是线性的,需要设置渐变的起始和结束坐标、颜色,超出渐变范围的填充方式,它并不能单独的使用,而是要和 QBrush 一起使用实现填充效果,主要有以下一些函数:
- // 创建 QLinearGradient,同时设置起始和结束坐标
- QLinearGradient(const QPointF &start, const QPointF &finalStop)
- QLinearGradient(qreal x1, qreal y1, qreal x2, qreal y2)
-
- // 设置渐变的颜色,position 的取值范围是 [0.0, 1.0]
- setColorAt(qreal position, const QColor &color)
-
- // 超出渐变范围后的填充方式,默认使用 PadSpread:
- // QGradient::PadSpre