Как нарисовать заполненный многоугольник на 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_);

Однако я получаю только полый многоугольник с зеленой рамкой, но без красной заливки внутри многоугольника.
Как я могу это исправить?

0

Решение

QBrush() не хватает стиля. Вы должны использовать:

QBrush brush
brush.setColor(Qt::red);
brush.setStyle(Qt::SolidPattern);

Или лучше, так как Qt::SolidPattern стиль приходит по умолчанию:

QBrush brush(Qt::red);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]