正如标题所示,我正在寻找一种方法来为应用于 QGraphicsPathItem 的 QPainterPath 的子路径着色不同的颜色,或者简单地使用 QGradient QPen 沿着 PathItem 更改颜色。
最终,我试图找到正确的解决方案,这将使我能够明显地绘制一条线,这条线会根据外部变量改变颜色。
我正在使用 QGraphicsScene 来绘制所有内容。
我目前的解决方案是让我创建多个 QGraphicsPathItems,每个 QGraphicsPathItems 用各自的 QPens 着色不同。当我获取数据时,我会填充与这些 PathItem 关联的 PainterPath。这给了我需要的彩色线条,但线条明显断开。
我需要能够在颜色更改期间使 QPainterPath 的子路径不可见,或者更改应用于单个 PathItem 的渐变。或者也许我缺少另一种方法。任何帮助都会很棒。
-编辑:
正如我的问题的解决方案中所述,这就是我目前正在绘制的方式。再次注意,我使用的是 GraphicsScene。
GraphicsScene 中的轴承公式计算产生不稳定的结果
正如您所看到的,线条在绘制时会通过外部变量改变颜色。恐怕 Qgradient 可能不起作用,因为这条线并不总是笔直的;颜色需要沿着线条流动。
这是正在发生的事情:
如您所见,红线 (PathItem) 从上次可见的位置跳到新位置。
为了帮助更好地阐明行为,想象这条线是随着时间的推移而绘制的。它一开始是红色的,很快就会设置一个变量,并且绘制的线段的颜色变为橙色。线的红色部分保持不变,因此我们可以从历史上看到当时变量的状态。在不同的时间,变量会进行调整,并且应用于线条的新部分的颜色会相应地更新。
当线条绘制完成后,我们可以查看它,看看颜色何时发生变化。
我希望这一切都有意义。