QT 有渐变画笔这个功能吗

我想用渐变画笔画一个弧,用来做仪表盘。
但发现只有渐变笔刷没有渐变画笔,网上查也没查到,如果有的话求告知

有啊,详见看:https://blog.csdn.net/pp634077956/article/details/50623645

在Qt中,确实没有直接提供渐变画笔的类。不过,您可以使用QPainterPath来绘制弧线,并将其填充为渐变色。
以下是一个简单的示例代码,展示如何使用渐变笔刷和QPainterPath来绘制一个渐变色弧形:

void Widget::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    painter.setRenderHint(QPainter::Antialiasing);

    // 创建一个矩形
    QRectF rect(20, 20, 200, 200);

    // 创建一个渐变
    QConicalGradient gradient(rect.center(), -90);
    gradient.setColorAt(0, Qt::red);
    gradient.setColorAt(0.5, Qt::yellow);
    gradient.setColorAt(1, Qt::green);

    // 创建一个QPainterPath对象,并添加弧线路径
    QPainterPath path;
    path.moveTo(rect.center());
    path.arcTo(rect, -45, 270);

    // 设置渐变笔刷,并用QPainterPath对象填充颜色
    painter.setBrush(gradient);
    painter.setPen(Qt::NoPen);
    painter.drawPath(path);
}

我们通过创建一个矩形并在其中心创建一个锥形渐变,创建一个QPainterPath对象,并使用arcTo()方法添加一个弧线路径。最后,使用setBrush()方法将渐变笔刷设置为当前画笔的笔刷,并使用drawPath()方法绘制填充了渐变色的弧线。