【问题标题】:Manipulating a QGradient to follow a path操纵 QGradient 跟随路径
【发布时间】:2012-08-30 18:10:02
【问题描述】:

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

也就是说,QGradient 上的色标需要随着路径中的曲线一起旋转。

【问题讨论】:

  • 你在使用 QGraphicsView 框架吗?
  • 目前没有。但我可以。我故意让这个问题有点含糊,因为我可以根据需要重构我的代码并想要任何和所有想法!

标签: c++ qt user-interface qt4 qt4.7


【解决方案1】:

据我所知,从 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);

最难的部分是定义一个可以顺畅移动的管道...您能分享您的代码以便我们看到您的问题吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 2015-02-26
    • 2020-04-07
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    相关资源
    最近更新 更多