私はグラフィックスカードに塗りつぶした黒い円を描く必要がある関数を書いています。この関数は黒い線の円を描画しますが、塗りつぶされません。これは私の関数である:塗りつぶされた円を描く
void World::damage(int x, int y)
{
QPainter painter(&worldImage);
painter.setBrush(QBrush(Qt::black));
painter.drawArc(x,y,150,50,0,16*360);
item = new QGraphicsPixmapItem(QPixmap::fromImage(worldImage));
this->addItem(item);
}
種類について、
こんにちは、これは、ウィジェットがビューポートに入るたびに再描画されませんか、またはユーザーがウィジェットの他の部分を編集しますか?高価なものではないでしょうか?それを一度に描く方法はありませんか? – SexyBeast
Qtペイントシステムは、不必要な再描画をできるだけ減らすために、ほとんどの場合、ペイントイベントが発生したときに最適化を試みます。ペイント操作が複雑で頻繁に再描画される場合は、ピックスマップにペイントしてキャッシングすることで、最適化を行うことができます。 –