我正在使用Qt绘制看起来像管道的东西,它可以使用QPainterPath进行曲线和弧形。我使用QLinearGradient来填充管道,以使其具有三维外观。我无法弄清楚的是如何弯曲/弧形管道并使梯度跟随那些相同的曲线,以便保持3D效果。有什么想法吗?
换句话说,QGradient上的颜色停止需要与路径中的曲线一起旋转。
答案 0 :(得分:0)
从qt examples可以看出,填充路径的渐变是完全相同的。因此,您定义一个漂亮的渐变,而不是路径,并使用如下代码将渐变添加到您的所有形状:
QLinearGradient myGradient;
QPen myPen;
QPainterPath myPath;
myPath.cubicTo(c1, c2, endPoint);
QPainter painter(this);
painter.setBrush(myGradient);
painter.setPen(myPen);
painter.drawPath(myPath);
最难的部分是定义一个可以顺畅移动的管道......你能分享你的代码,这样我们才能看到你的问题吗?