2012-08-30 67 views
3

我正在使用Qt绘制一些看起来像可以使用QPainterPath进行曲线和弧化的管道。我使用QLinearGradient填充管道,以便为其提供三维外观。我无法弄清楚的是,如何弯曲/弯曲管道,并使相同的曲线具有梯度,以保持3D效果。有什么想法吗?操作QGradient以遵循路径

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

+0

你在使用QGraphicsView Framework吗? –

+0

目前不是。但我可以。我故意留下这个问题有点模糊,因为我可以根据需要重构我的代码,并想要任何和所有想法! – Chris

+0

那么,到目前为止你有什么解决方案吗?我也需要这个 – yudjin

回答

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); 

最难的部分是定义smootly移动的管...你可以分享你的代码,以便我们可以看到你的问题?