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

ペインターにクリップ パスを設定し、2 つの完全な円を描くことをお勧めします。

QPainterPath円を描く必要がある領域 (黒い領域) をカバーするを作成できます。を使用して、このパスをペインターに設定しQPainter::setClipPath()ます。最後に2つの円を描きます。

見る:

于 2017-10-27T06:49:11.777 に答える