如何繪製QGraphicsItem
的邊框?簡單painter->drawRect(boundingRect())
重載繪圖方法不正確(右下角在項目外)。繪製QGraphicsItem的邊框
2
A
回答
0
我發現我的問題。感謝所有的建議,但現在我明白了,我的問題在其他地方。
我可以得出一個QRectF()
,它適合我的項目boundingRect,但...當我擴大我的QGraphicsView
(不管我用fitInView()
方法,或者我自己的實現)有在顯示我的境界了一些錯誤。
很少有一兩行矩形比另一些更緊密。我認爲這可能與我的QGraphicsItem
有關,它們同時也是QGraphicsSvgItem
。
2
QGraphicsEffect可能是你的朋友在這裏。您可以將其子類化以繪製任意QGraphicsItem的邊框。請記住重新實現boundingRectFor()
以包含額外的邊框。
4
圖形和繪圖形狀的座標系統可能會變得非常棘手。您經常會發現自己編寫測試圖紙以便正確使用它,但它正在繪製正在繪製的圖畫。你需要了解coordinate system。在此頁面中,請特別注意QRectF
的「一個像素寬的筆」的圖片。
3
注意,對於QPainter::drawRect()的文檔提及的實際寬度:
填充的矩形的尺寸rectangle.size的()。描邊矩形的大小爲rectangle.size()加上筆寬。
鑑於這種情況,我想像你想要的東西稍微比只使用邊框更加複雜:
QRect r = boundingRect();
QPen p = painter->pen();
painter->drawRect(QRect(r.x(), r.y(), r.width()-p.width(), r.height()-p.width()));
相關問題
- 1. 邊框繪製
- 2. QGraphicsItem:繪製多邊形時重疊邊界矩形
- 3. VBA繪製邊框
- 4. 繪製3D邊框
- 5. 帶邊框的繪製線
- 6. 繪製邊框形狀javafx
- 7. 圍繞UIImage繪製邊框
- 8. SurfaceView沒有繪製邊框
- 9. scilab - 繪製邊界框
- 10. 繪製HTML表格邊框
- 11. 在UILabel中繪製邊框
- 12. CSS3邊框繪製動畫
- 13. 在div上繪製邊框
- 14. 繪製虛線邊框
- 15. jQuery實時繪製邊框
- 16. CGContextSetRGBStrokeColor不會繪製邊框
- 17. 爲NumericUpDown繪製邊框
- 18. 如何使用QGraphicsItem繪製圖像?
- 19. QGraphicsItem繪圖問題
- 20. Open GL:繪製帶邊框的矩形?
- 21. 不正確的繪製矩形邊框
- 22. 繪製一個TEdit的主題邊框
- 23. 帶邊框的Java繪製線
- 24. 如何繪製帶邊框的路徑?
- 25. 如何繪製帶邊框的箭頭?
- 26. 如何繪製JFrame的邊框
- 27. 繪製字符串的粗邊框
- 28. 找到繪製文本的邊界框
- 29. 在richtextbox的周圍繪製邊框
- 30. 的iOS drawRect中繪製一個邊框