我目前正在执行以下操作:
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