I am drawing a line using QPainterPath
between two points as follows:
QPainterPath line;
line.moveTo(start_p);
line.lineTo(end_p);
QPen paintpen(Qt::black);
paintpen.setWidth(1);
painter->setRenderHint(QPainter::Antialiasing);
painter->setBrush(Qt::SolidPattern);
painter->setPen(paintpen);
painter->drawPath(line);
I have defined bounding rect as:
QRectF Line::boundingRect() const
{
return QRectF(start_p.x(), start_p.y(), end_p.x(), end_p.y());
}
I get line painted correctly when:
start_p.x() < end_p.x()
and
start_p.y() < end_p.y()
How should the bounding rect be defined so that line is drawn correctly irrespective of the relationship between the coordinates of two points(start_p and end_p)?
QRectF(start_p, end_p)
(doc.qt.io/qt-5/qrectf.html#QRectF-2)? – Unsphere