Qt 的描繪係統使能夠使用相同 API 在屏幕和打印設備上描繪,且首要基於 QPainter , QPaintDevice ,和 QPaintEngine 類。
QPainter 用於履行繪製操作, QPaintDevice 是 2 維空間的抽象,在其中描繪可以使用 QPainter ,和 QPaintEngine 提供用於在不同類型設備中繪製的描繪器接口。 QPaintEngine 類內部用於 QPainter and QPaintDevice ,且對應用程序程序員是隱藏的,除非它們創建自己的設備類型。
此方式的主要好處是,所有描繪都遵循相同的描繪管道,使之易於添加對新特徵的支持,並為不支持特徵提供默認實現。
這些類提供在描繪設備上進行描繪的支持。
| QBitmap | 單色 (1 位深度) 像素圖 |
| QBrush | 定義 QPainter 繪製形狀的填充圖案 |
| QColor | 基於 RGB、HSV 或 CMYK 值的顔色 |
| QColormap | 將設備無關 QColors 映射到與設備相關像素值 |
| QConicalGradient | 用於組閤 QBrush 以指定錐形漸變筆刷 |
| QDirectPainter | Direct access to the underlying hardware in Qt for Embedded Linux |
| QFont | Specifies a font used for drawing text |
| QFontMetrics | 字體規格信息 |
| QFontMetricsF | 字體規格信息 |
| QGenericMatrix | 錶示具有 N 列和 M 行的 NxM 變換矩陣的模闆類 |
| QGradient | 用於組閤 QBrush 以指定漸變填充 |
| QIcon | 在不同模式和狀態下的可伸縮圖標 |
| QIconEngine | 用於 QIcon 渲染器的抽象基類 |
| QIconEngineV2 | 用於 QIcon 渲染器的抽象基類 |
| QImage | 獨立於硬件的圖像錶示 (允許直接訪問像素數據,且可以被用作描繪設備) |
| QImageReader | 用於從文件 (或其它設備) 讀取圖像的格式獨立接口 |
| QImageWriter | 用於將圖像寫入文件 (或其它設備) 的格式獨立接口 |
| QLine | 使用整數精度的 2D 嚮量 |
| QLineF | 使用浮點精度的 2D 嚮量 |
| QLinearGradient | 用於組閤 QBrush 以指定綫性漸變筆刷 |
| QMargins | 定義矩形的 4 邊距 |
| QMovie | 采用 QImageReader 播放影片的方便類 |
| QPaintDevice | The base class of objects that can be painted |
| QPaintEngine | QPainter 如何在給定平颱繪製給定設備的抽象定義 |
| QPainter | 在 Widget 和其它描繪設備上履行低級描繪 |
| QPainterPath | 用於描繪操作的容器,使圖形形狀能夠被構造和重用 |
| QPainterPathStroker | 用於為給定描繪器路徑生成可填充輪廓 |
| QPalette | 包含各 Widget 狀態的顔色組 |
| QPen | 定義 QPainter 如何繪製綫條和形狀的輪廓 |
| QPicture | 用於記錄和重演 QPainter 命令的描繪設備 |
| QPixmap | 可以用作描繪設備的離屏圖像錶示 |
| QPixmapCache | 應用程序範圍像素圖緩存 |
| QPlatformFontDatabase | Makes it possible to customize how fonts are discovered and how they are rendered |
| QPlatformWindowFormat | Specifies the display format of an OpenGL rendering context and if possible attributes of the corresponding QPlatformWindow |
| QPoint | 使用整數精度定義平麵點 |
| QPointF | 使用浮點精度定義平麵點 |
| QPolygon | 使用整數精度的點嚮量 |
| QPolygonF | 使用浮點精度的點嚮量 |
| QRadialGradient | 用於組閤 QBrush 以指定徑嚮漸變筆刷 |
| QRect | 使用整數精度定義平麵矩形 |
| QRectF | 使用浮點精度定義平麵矩形 |
| QRegion | 為描繪器指定裁剪區域 |
| QSize | 使用整數點精度定義 2D 對象的大小 |
| QSizeF | 使用浮點精度定義 2D 對象的大小 |
| QStylePainter | 方便類用於在 Widget 內繪製 QStyle 元素 |
| QSupportedWritingSystems | 當采用內部 Qt fontdatabase (字體數據庫) 注冊字體時使用 |
| QSvgGenerator | 用於創建 SVG 繪製的描繪設備 |
| QSvgRenderer | 用於將 SVG 文件內容繪製到描繪設備上 |
| QSvgWidget | 用於顯示 SVG (可伸縮嚮量圖形) 文件內容的 Widget |
| QSymbianGraphicsSystemHelper | Defines functions required by QtMultimediaKit in order to enable video rendering |
| QTransform | 指定坐標係的 2D 變換 |
| QVector2D | 錶示 2D 空間中的嚮量或頂點 |
Alternatively, Qt provides the QtOpenGL module, offering classes that makes it easy to use OpenGL in Qt applications. Among others, the module provides an OpenGL widget class that can be used just like any other Qt widget, except that it opens an OpenGL display buffer where the OpenGL API can be used to render the contents.