2012-02-12 61 views
7

Tôi muốn biết Qt có đường viền như thế nào khi sử dụng drawRect của QPainter. Lý do cho điều này là tôi đang cố gắng vẽ ba hình chữ nhật cạnh nhau, nhưng tôi đang gặp khó khăn khi họ chạm vào hoàn hảo ở tất cả các kích thước bút.Qt vẽ đường bao quanh hình chữ nhật như thế nào?

Trả lời

19

QPainter 's documentation cho drawRect nói:

Một vuốt hình chữ nhật có kích thước [hình chữ nhật đầu vào] cộng với chiều rộng bút.

Vì vậy, nó đi như thế này:

enter image description here

+0

Tôi đã đọc, và nói với tôi chiều rộng, nhưng những gì về X và Y? Nếu tôi làm: paint.drawRect (5,5,10,10); với chiều rộng bút là 5, nó sẽ vẽ một hình chữ nhật rộng 15 pixel. Tuy nhiên, nó sẽ không vẽ nó bắt đầu từ (5,5). – Serodis

+0

Vấn đề là, QT dường như không vẽ đường viền bên ngoài hình chữ nhật. Chiều rộng của bút thực sự nằm trong hình chữ nhật. Có nghĩa là, trong bình luận trước đây của tôi, không chỉ nó không bắt đầu ở 5,5, nhưng, nó cũng không có chiều rộng 10. Nó thực sự rút ra một chiều rộng của 5 và hai biên giới của 5 là tốt. Điều này tổng cộng 15, như các tiểu bang tài liệu. Vấn đề của tôi là tôi muốn tìm một cách để xác định cho bất kỳ x, y, chiều rộng, chiều cao, độ rộng băng thông những gì x và y mới sẽ được. – Serodis

+0

Ồ, thực vậy. Tôi hiểu nó sai. Sẽ làm lại hình ảnh. –

Các vấn đề liên quan