我目前正在执行以下操作:

QGraphicsScene *scene;
QPen pen;
pen.setColor(color);
scene->addEllipse(x, y, size, size, pen, QBrush(Qt::SolidPattern));

但是,这将绘制一个黑色圆圈,边框的颜色为“颜色”。如何绘制全彩色的椭圆形?

最佳答案

QBrush是控制椭圆填充颜色的因素。在您提供的代码中,您只是提供了带有实心图案的画笔(因此为黑色填充)。

如果查看各种QBrush构造函数,您会注意到有几种不同的类型。您可能最感兴趣的是

QBrush ( Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern )
QBrush ( const QColor & color, Qt::BrushStyle style = Qt::SolidPattern )

这将使您可以执行以下操作:
scene->addEllipse( x, y, size, size, pen, QBrush(Qt::red) );

或者
scene->addEllipse( x, y, size, size, pen, QBrush(QColor("#FFCCDD") );

参见Qt's QBrush documentation

09-30 17:41