【发布时间】:2011-12-19 20:49:30
【问题描述】:
我目前正在做以下事情:
QGraphicsScene *scene;
QPen pen;
pen.setColor(color);
scene->addEllipse(x, y, size, size, pen, QBrush(Qt::SolidPattern));
但是,这是绘制一个带有“颜色”边框的黑色圆圈。如何绘制一个全彩色的椭圆?
【问题讨论】:
我目前正在做以下事情:
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") );
【讨论】: