2

我想绘制一个特殊的分段圆,如下图所示。

但我无法理解如何使用 setDashPattern.

图片:
在此处输入图像描述

起初,我认为只画一个彩色圆圈并画一个透明的矩形或线条来覆盖它就可以了。不过就这么过去了……

其次,我尝试了以下代码,

QPicture pi;
QPainter p(&pi);
QPen pen(Qt::red);

qreal space = 6;
qreal ine = 99;
pen.setDashPattern(QVector<qreal>() <<
line << space << line << space <<line << space);

p.drawRect(0,50, 100, 100);
p.end();

但这不是我想要它做的。

有谁知道如何画这样的戒指?

4

1 回答 1

0

我建议为画家设置一个剪辑路径并绘制两个完整的圆圈。

您可以创建一个QPainterPath覆盖需要绘制圆圈的区域(黑色区域)。比使用QPainter::setClipPath(). 最后画出两个圆圈。

看:

于 2017-10-27T06:49:11.777 回答