2012-02-12 8 views
7

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

ответ

19

QPainter «ы documentation для drawRect говорит:

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

Так это выглядит следующим образом:

enter image description here

+0

Я прочитал это, и это говорит мне ширину, а как насчет X и Y? Если да: paint.drawRect (5,5,10,10); с шириной пера 5, он будет рисовать прямоугольник шириной 15 пикселей. Однако он не будет начинать с (5,5). – Serodis

+0

Проблема в том, что QT, похоже, не рисует границу за пределами прямоугольника. Ширина пера фактически располагается внутри прямоугольника. Значение в моем предыдущем комментарии не только не начинается с 5,5, но также не имеет ширины 10. Оно фактически рисует ширину 5 и две границы по 5. Это составляет 15, как указано в документации. Моя проблема заключается в том, что я хочу найти способ определить для ЛЮБОГО x, y, width, height, penwidth, какие будут новые x и y. – Serodis

+0

О, действительно. Я понял это неправильно. Переделает картину. –

Смежные вопросы