标签: qpainterpath

如何以不同方式为QPainterPath子路径着色?

正如标题所示,我正在寻找一种方法来为QPainterPath的不同颜色的子路径着色,这些颜色应用于QGraphicsPathItem,或者只是使用QGradient QPen沿PathItem更改颜色.

最终我试图找到正确的解决方案,这将使我能够明显地绘制一条线,根据外部变量改变颜色.

我正在使用QGraphicsScene来绘制所有内容.

我目前的解决方案让我创建了多个QGraphicsPathItems,每个QGraphicsPathItems的颜色与各自的QPens不同.当我获取数据时,我填充与那些PathItems相关联的PainterPath.这给了我需要的多彩线条,但线条明显断开.

我需要能够在颜色更改期间使QPainterPath的子路径不可见,或者更改应用于单个PathItem的渐变.或者也许还有另一种我想念的方法.任何帮助都会很精彩.

-编辑:

正如我的问题的解决方案中所述,这就是我目前正在进行绘图的方式.再次注意,我正在使用GraphicsScene.

GraphicsScene中的方位公式计算产生不稳定的结果

这就是我想要做的. 期望的结果

正如您所看到的那样,线条在外部变量绘制时会改变颜色.我担心Qgradient可能不起作用,因为线条并不总是笔直的; 颜色需要沿着线条流动.

以下是发生的事情:

在此输入图像描述

如您所见,红线(PathItem)从最后可见的位置跳到新位置.

为了更好地澄清行为,想象一下这条线是随着时间的推移而绘制的.它从红色开始,很快变量被设置并且绘制的线段的颜色变为橙色.该行的红色部分保持不变,因此我们可以从历史上看到当时该变量的状态.在不同的时间,变量调整并且应用于线的新部分的颜色相应地更新.

当线条完成绘制后,我们可以查看它并查看颜色何时发生变化.

我希望这一切都有道理.

c++ qt qpainterpath

7
推荐指数
1
解决办法
894
查看次数

如何在QT中绘制经过多个点的平滑曲线?

有没有办法通过QT中的一组点绘制一条平滑的线?点的数量和位置在运行时设置。

目前,我绘制了一个 QPainterPath,其中包含 lineTo 从点到点的移动,创建一条路径。我确实使用了渲染提示抗锯齿,但路径仍然是锯齿状的。

我见过 QSplineSeries 似乎提供了这种弯曲路径,但它在 Qt4.8 中不可用,这是我正在使用的 QT 版本。

经常建议的另一个选项是使用贝塞尔曲线,但那些使用一个起点和终点以及两个控制点,所以我需要为每个线段(每条线)计算它,并以某种方式计算那些我没有的控制点在这一刻。

c++ qt qpainterpath

4
推荐指数
1
解决办法
9630
查看次数

如何使用 QPainterPath?

我正在使用 pyqt 尝试创建一个显示图像和曲线的应用程序。

为了绘制贝塞尔曲线,我找到了 QPainterPath 类,特别是 QpainterPath.cubicTo。但是,我不明白必须如何使用此类。我应该在哪个小部件中绘制曲线?

我看到有QpainterQGraphicsView / QGraphicsScene,但我不知道如何使用我的QPainterPath它们。

你有使用QPainterPathpyqt/pyside 的例子吗?(例如,显示三次贝塞尔曲线的简单窗口)

python qt pyqt pyside qpainterpath

3
推荐指数
2
解决办法
5890
查看次数

标签 统计

qpainterpath ×3

qt ×3

c++ ×2

pyqt ×1

pyside ×1

python ×1