2

Qt で楕円を描画しようとしていますが、エッジの境界がいくつかの場所で薄くなります。

ここに画像の説明を入力

コードは次のとおりです。

QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::black, 3));
painter.drawEllipse(event->rect());

何か案は?前もって感謝します。

4

1 に答える 1

5

アウトラインでシェイプをペイントするときは、ペンの幅を考慮に入れる必要があります。したがって、あなたの場合、これに変更します:

// Adjusted by 2 pixels because half your pen width is 1.5, but QRect is
// for integer types, so rounded up.
painter.drawEllipse(event->rect().adjusted( -2, -2, 2, 2 ) );
于 2012-06-28T07:36:50.587 に答える