如何在 QGraphicsScene 上绘制填充多边形
How to draw filled polygon on QGraphicsScene
我想在 QGraphicsScene 上绘制一个用特定颜色填充的多边形。然后我使用以下代码:
QPolygonF poly;
poly << QPointF(10, 10) << QPointF(10, 50) << QPointF(30, 70 )<< QPointF(60, 50) << QPointF(50, 10);
QBrush brush;
brush.setColor(Qt::red);
QPen pen(Qt::green);
QGraphicsScene graphics_scene_ = new QGraphicsScene(0,0,200,200);
graphics_scene_->addPolygon(poly, pen, brush);
setScene(graphics_scene_);
但是我只得到一个带有绿色边框的空心多边形,但多边形内部没有红色填充。
我该如何解决?
QBrush()
缺少样式。你应该使用:
QBrush brush
brush.setColor(Qt::red);
brush.setStyle(Qt::SolidPattern);
或者这样更好,因为 Qt::SolidPattern
样式是默认的:
QBrush brush(Qt::red);
我想在 QGraphicsScene 上绘制一个用特定颜色填充的多边形。然后我使用以下代码:
QPolygonF poly;
poly << QPointF(10, 10) << QPointF(10, 50) << QPointF(30, 70 )<< QPointF(60, 50) << QPointF(50, 10);
QBrush brush;
brush.setColor(Qt::red);
QPen pen(Qt::green);
QGraphicsScene graphics_scene_ = new QGraphicsScene(0,0,200,200);
graphics_scene_->addPolygon(poly, pen, brush);
setScene(graphics_scene_);
但是我只得到一个带有绿色边框的空心多边形,但多边形内部没有红色填充。 我该如何解决?
QBrush()
缺少样式。你应该使用:
QBrush brush
brush.setColor(Qt::red);
brush.setStyle(Qt::SolidPattern);
或者这样更好,因为 Qt::SolidPattern
样式是默认的:
QBrush brush(Qt::red);