绘画系统

Qt XML 的绘制系统可使用相同的 API 在屏幕和打印设备上进行绘制,它主要基于QPainterQPaintDeviceQPaintEngine 类。

QPainter QPaintDevice 是二维空间的抽象,可使用 在二维空间上绘画,而 则提供了绘画者在不同类型设备上绘画时使用的接口。 类由 和 内部使用,除非应用程序编程人员创建自己的设备类型,否则该类是隐藏的。QPainter QPaintEngine QPaintEngine QPainter QPaintDevice

这种方法的主要优点是所有绘制都遵循相同的绘制流水线,因此可以轻松添加对新功能的支持,并为不支持的功能提供默认实现。

主题

绘制类

这些类支持在绘画设备上绘画。

QBitmap

单色(1 位深度)像素图

QBrush

定义 QPainter 绘制图形的填充图案

QColor

基于 RGB、HSV 或 CMYK 值的颜色

QColorSpace

色彩空间抽象

QColorTransform

色彩空间之间的转换

QColormap

将独立于设备的 QColors 映射到与设备相关的像素值

QConicalGradient

与 QBrush 结合使用,可指定锥形渐变笔刷

QFont

指定用于绘制文本的字体查询

QFontMetrics

字体度量信息

QFontMetricsF

字体度量信息

QGenericMatrix

表示 NxM 变换矩阵(N 列 M 行)的模板类

QGradient

与 QBrush 结合使用,可指定渐变填充

QIcon

不同模式和状态下的可缩放图标

QIconEngine

QIcon 呈现器的抽象基类

QImage

独立于硬件的图像表示法,允许直接访问像素数据,并可用作绘画设备

QImageReader

从文件或其他设备读取图像的独立于格式的接口

QImageWriter

向文件或其他设备写入图像的独立格式接口

QLine

使用整数精度的二维矢量

QLineF

使用浮点精度的二维矢量

QLinearGradient

与 QBrush 结合使用,可指定线性渐变笔刷

QMargins

定义矩形的四个边距

QMarginsF

定义矩形的四个边距

QPageRanges

代表页面范围集合

QPagedPaintDevice

代表支持多页的绘画设备

QPaintDevice

可使用 QPainter 上色的对象的基类

QPaintEngine

抽象定义 QPainter 在特定平台上如何绘制到特定设备上

QPainter

在窗口小部件和其他绘制设备上执行底层绘制

QPainterPath

绘画操作的容器,可构建和重复使用图形形状

QPainterPathStroker

用于为给定的绘制路径生成可填充轮廓

QPainterStateGuard

用于平衡 QPainter::save() 和 QPainter::restore() 调用的 RAII 方便类

QPdfOutputIntent

QPdfWriter

生成可用作绘画设备的 PDF 的类

QPen

定义 QPainter 应如何绘制线条和形状轮廓

QPixmap

可用作绘制工具的屏幕外图像表示法

QPoint

使用整数精度定义平面中的点

QPointF

使用浮点精度定义平面中的点

QPolygon

使用整数精度的点列表

QPolygonF

使用浮点精度的点列表

QRadialGradient

与 QBrush 结合使用,可指定径向渐变笔刷

QRect

使用整数精度在平面中定义一个矩形

QRectF

使用浮点精度在平面内定义有限矩形

QRegion

为画笔指定剪辑区域

QRgba64

结构包含 64 位 RGB 颜色

QRgbaFloat

结构体包含四部分 RGBA 浮点颜色

QSize

使用整数点精度定义二维对象的大小

QSizeF

使用浮点精度定义二维对象的大小

QStylePainter

用于在 widget 中绘制 QStyle 元素的便利类

QSupportedWritingSystems

在内部 Qt 字体数据库中注册字体时使用

QSvgGenerator

用于创建 SVG 图形的绘制设备

QSvgRenderer

用于将 SVG 文件的内容绘制到绘制设备上

QSvgWidget

用于显示可缩放矢量图形(SVG)文件内容的小工具

QTransform

指定坐标系的二维变换

QVector2D

代表二维空间中的矢量或顶点

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.