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

zeb*_*bra 8 c++ qt

我目前正在做以下事情:

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

但是,这是绘制一个黑色圆圈,边框颜色为"颜色".如何绘制全彩色椭圆?

Chr*_*ris 6

QBrush是什么控制椭圆的填充颜色.在你提供的代码中,你只是给一个带有实心图案的画笔(因此是黑色填充).

如果你看一下各种QBrush构造函数,你会注意到有几种不同的构造函数.你可能最感兴趣的是

QBrush ( Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern )
QBrush ( const QColor & color, Qt::BrushStyle style = Qt::SolidPattern )
Run Code Online (Sandbox Code Playgroud)

这将允许你做的事情,如:

scene->addEllipse( x, y, size, size, pen, QBrush(Qt::red) );
Run Code Online (Sandbox Code Playgroud)

要么

scene->addEllipse( x, y, size, size, pen, QBrush(QColor("#FFCCDD") );
Run Code Online (Sandbox Code Playgroud)

请参阅Qt的QBrush文档