操纵QRadient以遵循路径

Manipulating a QGradient to follow a path

本文关键字:路径 QRadient 操纵      更新时间:2023-10-16

我正在使用Qt绘制一个看起来像管道的东西,它可以使用QPainterPath进行曲线和圆弧绘制。我使用QLinearGradient填充管道,以使其具有三维外观。我不知道如何弯曲/弧形管道,并使梯度跟随这些相同的曲线,以便保持3D效果。有什么想法吗?

换句话说,QRadient上的颜色停止需要与路径中的曲线一起旋转。

从qt示例中可以看出,填充路径的梯度是相同的。所以你定义了一个很好的梯度,而不是一条路径,并用这样的代码将梯度添加到你的所有形状中:

QLinearGradient myGradient;
QPen myPen;
QPainterPath myPath;
myPath.cubicTo(c1, c2, endPoint);
QPainter painter(this);
painter.setBrush(myGradient);
painter.setPen(myPen);
painter.drawPath(myPath);

最困难的部分是定义一个缓慢移动的管道。。。你能分享你的代码吗?这样我们就能看到你的问题了?