如何绘制一个充满某种颜色的椭圆?

时间:2011-12-19 20:49:30

标签: c++ qt

我目前正在做以下事情:

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

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

1 个答案:

答案 0 :(得分:6)

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