如何在Qt5中绘制特殊圆?

时间:2017-10-27 04:41:38

标签: qt5 ellipse qpainterpath

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

但我无法理解如何使用圆弧绘制圆弧或椭圆 setDashPattern

图像:
enter image description here

起初,我认为只绘制一个彩色圆圈并绘制一个透明的矩形或线条来覆盖它就可以了。 但它刚刚过去......

其次,我尝试了下面的代码,

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

但这不是我想要的。

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

1 个答案:

答案 0 :(得分:0)

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

您可以创建一个QPainterPath来覆盖需要绘制圆圈的区域(黑色区域)。然后使用QPainter::setClipPath()将此路径设置为画家。最后绘制两个圆圈。

请参阅: