Qt之渐变及其应用(绘制温度计仪表盘和指示灯)

Posted 草上爬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt之渐变及其应用(绘制温度计仪表盘和指示灯)相关的知识,希望对你有一定的参考价值。

一.效果

图中仪表盘和指示灯的边框及高亮效果使用了渐变

二.原理

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

以上是关于Qt之渐变及其应用(绘制温度计仪表盘和指示灯)的主要内容,如果未能解决你的问题,请参考以下文章

圆形仪表,指示器(使用甜甜圈作为温度计样式的替代品)

Qt自定义控件之仪表盘的完整实现

Qt编写地图综合应用4-仪表盘

Qt编写自定义控件插件开放动态库dll使用(永久免费)

32.QT-制作最强电压电阻表盘,可以自定义颜色,图标,文字标签(也可以用来当其它表盘)

如何使用 Qt QPainter 绘制线性渐变弧?