Как Qt рисует границу вокруг прямоугольника?

Я хочу знать, как Qt делает границу при использовании drawRect QPainter. Причина этого в том, что я пытаюсь нарисовать три прямоугольника рядом друг с другом, но у меня возникают проблемы с тем, чтобы они идеально касались всех размеров пера.

2 ответов


QPainter ' s документация на drawRect говорит:

гладкий прямоугольник имеет размер [прямоугольника] плюс ширина ручки.

Итак, это выглядит так:

enter image description here


Я просто хотел добавить к ответу и обратиться к вопросу об усечении.

усечение может происходить, потому что вы используете QRect, а не QRectF. QRectF дает вам точность с плавающей запятой. Аналогично, вы можете использовать QPen:: setWidthF(qreal width), чтобы убедиться, что ваша граница не усекается.