QPainter、QPaintEngine、QPaintDevice组成了Qt绘图系统,QPainter 提供了低级的绘图API,在内部使用QPaintEngine作为介面,在QPaintDevice进行绘图,只要是QPaintDevice的子類別,就可以建立QPainter在其上進行圖形繪製,像是QWidget、QImage、QPicture、QPrinter等都是QPaintDevice的子類別。 建立QPainter的方式如下,其中qPainterDevice是個指向QPaintDevice子類別的名稱: QPainter painter(qPainterDevice); 若是圆形部件,通常會重新定義QWidget的paintEvent(),當绘图装置(Paint Device)需要重繪時,就會發出QPaintEvent並分派給這個方法來處理事件,例如元件出現、被覆蓋又重現時,您也可以呼叫repaint() 或update(),這也會執行paintEvent()。 QPainter提供各种绘制圖形的API,從基本的線繪製、方塊、矩形、圓形、漸層到複雜的圖片等,QPainter都有提供相對應的API,使用的方式,在 QPainter 的說明文件</ |
QPainter基础
最新推荐文章于 2023-08-18 14:59:42 发布
本文深入探讨了Qt库中的QPainter类,它是Qt图形视图框架的核心部分,用于在各种设备上进行2D绘图操作。通过QPainter,开发者可以实现复杂的图形绘制,如线条、曲线、文字、图片等,并能进行像素级的精确控制。同时,文章还介绍了如何使用QPainter进行图形的裁剪、旋转、缩放等变换,以及如何优化绘图性能。
摘要由CSDN通过智能技术生成