我目前正在进行以下工作:
QGraphicsScene *scene;
QPen pen;
pen.setColor(color);
scene->addEllipse(x, y, size, size, pen, QBrush(Qt::SolidPattern));
然而,这只是绘制了一个带有颜色“color”边框的黑色圆形。我该如何绘制完全着色的椭圆形?
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") );