QLinearGradient lg = QLinearGradient(QPointF(0,0),QPointF(0,1));
lg.setCoordinateMode(QGradient::ObjectBoundingMode );
lg.setSpread(QGradient::PadSpread);
lg.setColorAt(0.0,QColor(0,0,0));
lg.setColorAt(1.0,QColor(100,0,100));
lg.setColorAt(0.5,QColor(0,255,0x7f));

QBrush brush = QBrush(lg);

QPainter painter(this);
painter.setBrush(brush);
QPen p;
p.setBrush(brush);
p.setWidth(2);
painter.setPen(p);
painter.drawLine(QPointF(400,400),QPointF(400,800) ); // @1
painter.drawLine(QPointF(400,400),QPointF(450,410) );
painter.drawLine(QPointF(400,400),QPointF(850,810) );
painter.drawLine(QPointF(400,400),QPointF(800,400) ); // @2

painter.drawRect(QRectF(0,100,300,100));

//why the line @1 and @2 is not the same looks like the other????

4.jpg