QPainter类用于在控件和其它绘图设备上进行绘制。
Header: | #include <QPainter> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Inherited By: |
详细说明>>>
【公共类型】
class | 这个类用于在 QPainter::drawPixmapFragments() 函数中绘制一个像素图。 |
enum | CompositionMode { CompositionMode_SourceOver, CompositionMode_DestinationOver, CompositionMode_Clear, CompositionMode_Source, CompositionMode_Destination, …, RasterOp_SourceOrNotDestination } 合成模式的枚举 |
enum | PixmapFragmentHint { OpaqueHint } 透明模式枚举(本质上只是一个开关) |
flags | 返回当前透明模式 |
enum | RenderHint { Antialiasing, TextAntialiasing, SmoothPixmapTransform, VerticalSubpixelPositioning, LosslessImageRendering, NonCosmeticBrushPatterns } 渲染设置 |
flags | 返回渲染设置状态 |
【公有函数 】
QPainter() | |
构造空painter。 | |
QPainter(QPaintDevice *device) | |
在绘制设备device构造一个painter并可以立即绘制。 此构造函数对只使用一次绘制很方便。例如在QWidget::paintEvent()中,构造函数为您调用begin(),而QPainter析构函数自动调用end()。 使用此构造函数的相同示例: 由于painter初始化失败时,构造函数无法提供反馈,因此您应该使用 begin() 和 end() 在外部设备(例如打印机)上绘画。 | |
/ | ~QPainter() |
const QBrush & | background() const |
返回当前背景笔刷。 | |
Qt::BGMode | backgroundMode() const |
返回当前背景模式(只有两种:透明Qt::TransparentMode或不透明Qt::OpaqueMode) | |
bool | begin(QPaintDevice *device) |
在绘制设备上开始绘制,成功返回true;失败返回false。 注意:所有的绘图设置(setPen(),setBrush()等)在此函数调用时,都会被重置为默认值。 可能发生的错误是严重的问题,例如:
| |
void | beginNativePainting() |
刷新绘制管道并为用户直接向底层图形上下文发出命令做准备。必须后跟对endNativePainting()的调用。 请注意,只有基础绘制引擎更改的状态才会重置为其各自的默认状态。我们重置的状态可能会因版本而异,以下状态当前在OpenGL 2引擎中被重置:
例如,如果用户在beginNativePaint()/endNativePainting()块内更改了OpenGL多边形模式,则endNativePainting()不会将其重置为默认状态。以下示例显示了painter命令和原始OpenGL命令的混合: | |
QRectF | boundingRect(const QRectF &rectangle, int flags, const QString &text) |
使用当前设置的font()返回带有指定标志 flags 的 text 在给定矩形rectangle内绘制时的边框;也就是说,当给定相同的参数时,该函数告诉您drawText()函数将在哪里绘制。 如果 text 不适合使用指定标志 flags 的给定矩形rectangle,则该函数返回所需的矩形。 flags参数是以下标志的按位“或”运算:
如果设置了几个水平对齐标志或几个垂直对齐标志,则对齐结果是未定义的。 | |
QRect | boundingRect(const QRect &rectangle, int flags, const QString &text) |
重载。使用当前设置的font()返回带有指定标志flags的text在给定矩形内rectangle绘制时的边框。 | |
QRect | boundingRect(int x, int y, int w, int h, int flags, const QString &text) |
重载。返回给定文本的边框,它将在从点(x,y)开始、宽度为w、高度为h的矩形内绘制。 | |
QRectF | boundingRect(const QRectF &rectangle, const QString &text, const QTextOption &option = QTextOption()) |
这个重载函数没有将标志指定为Qt::AlignmentFlag 和 Qt::TextFlag的按位OR,而是采用一个option选项参数。QTextOption 类提供了对常规富文本属性的描述。 | |
const QBrush & | brush() const |
返回painter的当前画笔。 | |
QPoint | brushOrigin() const |
返回当前设置的画笔原点。 | |
QRectF | clipBoundingRect() const |
如果有剪辑,则返回当前剪辑的边框;否则返回一个空矩形。 注意剪辑区域是以逻辑坐标给出的。 边框不能保证是紧密的。 | |
QPainterPath | clipPath() const |
返回逻辑坐标中的当前剪辑路径。 警告:QPainter不会显式存储组合剪辑,因为这是由底层QPaintEngine处理的,因此会根据需要重新创建路径并将其转换到当前逻辑坐标系。这可能是一个昂贵的操作。 | |
QRegion | clipRegion() const |
返回当前设置的剪辑区域。注意剪辑区域是以逻辑坐标给出的。【警告同上】 | |
QTransform | combinedTransform() const |
返回组合当前窗口/视口和世界变换的变换矩阵。 | |
QPainter:: CompositionMode | compositionMode() const |
返回当前合成模式。 | |
QPaintDevice * | device() const |
返回此 painter当前正在其上绘画的设备,如果painter未处于活动状态,则返回nullptr。 | |
const QTransform & | deviceTransform() const |
返回从逻辑坐标转换到平台相关绘画设备的设备坐标的矩阵。 只有在平台相关句柄 (Qt::HANDLE)上使用平台绘制命令时才需要此函数,并且平台本身不进行转换。 可以查询QPaintEngine::PaintEngineFeature 枚举来确定平台是否执行转换。 | |
void | drawArc(const QRectF &rectangle, int startAngle, int spanAngle) |
绘制由给定矩形rectangle、startAngle和spanAngle定义的弧线。 startAngle(起始角度)和spanAngle(跨度角度)必须指定为1/16度,即一个完整的圆等于5760(16 * 360)。角度的正值表示逆时针方向,负值表示顺时针方向。零度在3点钟位置。 | |
void | drawArc(const QRect &rectangle, int startAngle, int spanAngle) |
重载,功能同上。 | |
void | drawArc(int x, int y, int width, int height, int startAngle, int spanAngle) |
从(x,y)开始,以指定的宽度w和高度h以及给定的起始角度startAngle和跨度角度spanAngle绘制由矩形定义的圆弧。 | |
void | drawChord(const QRectF &rectangle, int startAngle, int spanAngle) |
绘制由给定矩形rectangle、起始角度startAngle和跨度角度spanAngle定义的弦,弦由当前画笔填充brush()。 | |
void | drawChord(int x, int y, int width, int height, int startAngle, int spanAngle) |
以指定的宽度和高度以及给定的起始角度和跨度角度绘制由从(x,y)开始的矩形定义的弦。 | |
void | drawChord(const QRect &rectangle, int startAngle, int spanAngle) |
绘制由给定矩形、startAngle和spanAngle定义的弦。 | |
void | drawConvexPolygon(const QPointF *points, int pointCount) |
void | drawConvexPolygon(const QPoint *points, int pointCount) |
使用当前钢笔绘制由数组点points中的第一个计数点pointCount定义的凸多边形。 第一个点隐式连接到最后一个点,并且用当前brush()填充多边形。如果提供的多边形不是凸的,即它包含至少一个大于180度的角,则结果是未定义的。 在某些平台上(例如X11)drawConvexPolygon()函数可能比drawPolygon()函数更快。 | |
void | drawConvexPolygon(const QPolygonF &polygon) |
void | drawConvexPolygon(const QPolygon &polygon) |
使用当前钢笔和画笔绘制由多边形polygon定义的凸多边形。 | |
void | drawEllipse(const QRectF &rectangle) |
void | drawEllipse(const QRect &rectangle) |
绘制由给定矩形rectangle定义的椭圆。 | |
void | drawEllipse(int x, int y, int width, int height) |
以给定的宽度和高度绘制由从(x,y)开始的矩形定义的椭圆。 | |
void | drawEllipse(const QPointF ¢er, qreal rx, qreal ry) |
void | drawEllipse(const QPoint ¢er, int rx, int ry) |
以半径rx和ry绘制位于中心center的椭圆。 | |
void | drawGlyphRun(const QPointF &position, const QGlyphRun &glyphs) |
在position位置绘制由标志符号glyphs表示的符号。该位置给出了字形字符串的基线边缘。将从字形glyphs上选择的字体中检索字形,偏移量由字形中的位置给出。 参见: QGlyphRun::setRawFont(), QGlyphRun::setPositions(), and QGlyphRun::setGlyphIndexes() | |
void | drawImage(const QRectF &target, const QImage &image, const QRectF &source, Qt::ImageConversionFlags flags = Qt::AutoColor) |
void | drawImage(const QRect &target, const QImage &image, const QRect &source, Qt::ImageConversionFlags flags = Qt::AutoColor) |
在绘画设备中将给定图像image的矩形部分source绘制到目标矩形target中。
如果需要修改图像以适应较低分辨率的结果(例如从32位转换为8位),请使用标志 flags 来指定您希望如何进行。 | |
void | drawImage(const QPointF &point, const QImage &image, const QRectF &source, Qt::ImageConversionFlags flags = Qt::AutoColor) |
void | drawImage(const QPoint &point, const QImage &image, const QRect &source, Qt::ImageConversionFlags flags = Qt::AutoColor) |
以给定点point为原点绘制给定image图像的source矩形部分。 | |
void | drawImage(const QRectF &rectangle, const QImage &image) |
void | drawImage(const QRect &rectangle, const QImage &image) |
将给定图像image绘制到给定矩形rectangle中。 | |
void | drawImage(const QPointF &point, const QImage &image) |
void | drawImage(const QPoint &point, const QImage &image) |
在给定点point绘制给定图像image。 | |
void | drawImage(int x, int y, const QImage &image, int sx = 0, int sy = 0, int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor) |
通过将image图像的一部分复制到绘画设备中。(x, y) 指定绘制设备的左上角点, (sx, sy) 指定图像中的左上角点。默认值为(0, 0)。 (sw, sh) 指定要绘制图像的大小。默认值为(0, 0)和负数表示一直到图像的右下角。 | |
void | drawLine(const QLineF &line) |
void | drawLine(const QLine &line) |
绘制由line定义的直线。 | |
void | drawLine(int x1, int y1, int x2, int y2) |
绘制一条从(x1,y1)到(x2,y2)的直线。 | |
void | drawLine(const QPoint &p1, const QPoint &p2) |
void | drawLine(const QPointF &p1, const QPointF &p2) |
绘制一条从p1到p2的直线。 | |
void | drawLines(const QLineF *lines, int lineCount) |
使用当前 pen 绘制数组lines中的第一行lineCount。 | |
void | drawLines(const QList<QLineF> &lines) |
使用当前 pen 和 brush绘制由列表lines定义的一组线条。 | |
void | drawLines(const QPointF *pointPairs, int lineCount) |
void | drawLines(const QPoint *pointPairs, int lineCount) |
使用当前 pen 在数组点对pointPairs中绘制第一行lineCount。线被指定为点对,因此pointPairs中的条目数必须至少为lineCount * 2。 | |
void | drawLines(const QList<QPointF> &pointPairs) |
void | drawLines(const QList<QPoint> &pointPairs) |
使用当前 pen 为矢量点对pointPairs中的每对点绘制一条线。如果数组中有奇数个点,最后一个点将被忽略。 | |
void | drawLines(const QLine *lines, int lineCount) |
使用当前 pen 绘制数组lines中的第一行lineCount。 | |
void | drawLines(const QList<QLine> &lines) |
使用当前 pen 和 brush 绘制由列表lines定义的一组线条。 | |
void | drawPath(const QPainterPath &path) |
使用当前 pen 绘制轮廓,使用当前画笔填充给定的画师路径 path 。 | |
void | drawPicture(const QPointF &point, const QPicture &picture) |
在给定点point重放给定图片picture。 QPicture 类在一个绘画设备上记录和重放QPainter命令。图片以独立于平台的格式将画师painter序列化到IO设备。可以在控件或像素图上绘制的所有内容也可以存储在图片中。 当使用point = QPointF(0, 0)调用时,该函数的作用与QPicture::play()完全相同。 注意:painter的状态由该函数保存。 | |
void | drawPicture(int x, int y, const QPicture &picture) |
在点(x,y)绘制给定的图片picture。 | |
void | drawPicture(const QPoint &point, const QPicture &picture) |
在给定point重放给定图片picture。 | |
void | drawPie(const QRectF &rectangle, int startAngle, int spanAngle) |
void | drawPie(const QRect &rectangle, int startAngle, int spanAngle) |
绘制由给定矩形rectangle、startAngle和spanAngle定义的饼图。 饼图用当前画笔填充brush()。 startAngle(起始角度)和spanAngle(跨度角度)必须指定为1/16度,即一个完整的圆等于5760(16 * 360)。角度的正值表示逆时针方向,负值表示顺时针方向。零度在3点钟位置。 | |
void | drawPie(int x, int y, int width, int height, int startAngle, int spanAngle) |
以指定的宽度和高度以及给定的起始角度startAngle和跨度角度spanAngle绘制由从(x,y)开始的矩形定义的饼图。 | |
void | drawPixmap(const QRectF &target, const QPixmap &pixmap, const QRectF &source) |
void | drawPixmap(const QRect &target, const QPixmap &pixmap, const QRect &source) |
将给定位图pixmap的矩形部分source绘制到绘画设备中的给定目标target中。
如果pixmap 是一个 QBitmap,它是用钢笔颜色"set"的位绘制的。如果backgroundMode是Qt::OpaqueMode,则使用背景画笔的颜色绘制"unset" 位;如果backgroundMode是Qt::TransparentMode,则“未设置”位是透明的。不支持绘制带有渐变或纹理颜色的位图。 | |
void | drawPixmap(int x, int y, int w, int h, const QPixmap &pixmap, int sx, int sy, int sw, int sh) |
在点(x,y)绘制给定像素图pixmap的原点(sx,sy)、宽度sw和高度sh的矩形部分,宽度为w,高度为h 。如果sw或sh等于零,则使用pixmap的宽度/高度,并通过偏移sx/sy进行调整; | |
void | drawPixmap(int x, int y, const QPixmap &pixmap, int sx, int sy, int sw, int sh) |
通过将给定位图pixmap的一部分复制到绘画设备中,在(x,y)处绘制位图。 (x,y)指定绘制设备的左上角点。(sx,sy)指定位图中要绘制的左上角点。默认值为(0,0)。 指定将要绘制的位图的大小。默认值(0,0)和负数)表示一直到位图的右下角。 | |
void | drawPixmap(const QPointF &point, const QPixmap &pixmap, const QRectF &source) |
void | drawPixmap(const QPoint &point, const QPixmap &pixmap, const QRect &source) |
以给定点point为原点绘制给定位图pixmap的矩形部分source。 | |
void | drawPixmap(const QPointF &point, const QPixmap &pixmap) |
void | drawPixmap(const QPoint &point, const QPixmap &pixmap) |
以给定点point为原点绘制给定的位图pixmap。 | |
void | drawPixmap(int x, int y, const QPixmap &pixmap) |
在位置(x,y)绘制给定的位图pixmap。 | |
void | drawPixmap(const QRect &rectangle, const QPixmap &pixmap) |
将给定的位图pixmap绘制到给定的矩形rectangle中。 | |
void | drawPixmap(int x, int y, int width, int height, const QPixmap &pixmap) |
用给定的宽度和高度在位置(x,y)将位图pixmap绘制到矩形中。 | |
void | drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap, QPainter::PixmapFragmentHints hints = PixmapFragmentHints()) |
此函数用于在多个位置以不同的比例、旋转和不透明度绘制像素图pixmap或像素图子矩形。fragments是一个fragmentCount元素的数组,指定用于绘制每个像素图片段的参数。提示参数hints可用于传入绘制提示。 该函数可能比多次调用drawPixmap()更快,因为后端可以优化状态更改。 | |
void | drawPoint(const QPointF &position) |
void | drawPoint(const QPoint &position) |
使用当前pen的颜色在给定位置position绘制一个点。 | |
void | drawPoint(int x, int y) |
在位置(x,y)绘制一个点。 | |
void | drawPoints(const QPointF *points, int pointCount) |
void | drawPoints(const QPoint *points, int pointCount) |
使用当前pen的颜色绘制数组points中的第一个点pointCount。 | |
void | drawPoints(const QPolygonF &points) |
void | drawPoints(const QPolygon &points) |
在矢量points中绘制点。 | |
void | drawPolygon(const QPointF *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill) |
void | drawPolygon(const QPoint *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill) |
使用当前pen和brush绘制由数组points中的第一个点pointCount定义的多边形。 第一个点隐式连接到最后一个点,并且用当前画笔brush()填充多边形。 如果fillRule为Qt::WindingFill,则使用缠绕填充算法填充多边形。如果fillRule为Qt::OddEvenFill,则使用奇偶填充算法填充多边形。有关这些填充规则的更详细描述,请参见Qt::FillRule。 | |
void | drawPolygon(const QPolygonF &points, Qt::FillRule fillRule = Qt::OddEvenFill) |
void | drawPolygon(const QPolygon &points, Qt::FillRule fillRule = Qt::OddEvenFill) |
使用填充规则fillRule绘制由给定点points定义的多边形。 | |
void | drawPolyline(const QPointF *points, int pointCount) |
void | drawPolyline(const QPoint *points, int pointCount) |
使用当前pen绘制由第一个pointCount点定义的折线。 请注意,与drawPolygon() 函数不同,最后一个点不与第一个点相连,也不填充折线。 | |
void | drawPolyline(const QPolygonF &points) |
void | drawPolyline(const QPolygon &points) |
使用当前pen绘制由给定点points定义的折线。 | |
void | drawRect(const QRectF &rectangle) |
void | drawRect(const QRect &rectangle) |
用当前pen和brush绘制当前矩形rectangle。 填充矩形的大小为rectangle.size(),描边矩形的大小为rectangle.size()加上钢笔宽度。 | |
void | drawRect(int x, int y, int width, int height) |
绘制一个左上角位于(x,y)且具有给定宽度和高度的矩形。 | |
void | drawRects(const QRectF *rectangles, int rectCount) |
void | drawRects(const QRect *rectangles, int rectCount) |
使用当前pen和brush绘制给定矩形rectangles的第一个rectCount。 | |
void | drawRects(const QList<QRectF> &rectangles) |
void | drawRects(const QList<QRect> &rectangles) |
使用当前的pen和brush绘制给定的矩形。 | |
void | drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize) |
void | drawRoundedRect(const QRect &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize) |
绘制rect 给定的圆角矩形。 xRadius和yRadius参数指定定义圆角矩形角的椭圆的半径。当mode为Qt::RelativeSize时,xRadius和yRadius分别以矩形宽度和高度的一半的百分比指定,并且应在0.0到100.0的范围内。 填充矩形的大小为rect.size(),描边矩形的大小为rect.size()加上钢笔宽度。 | |
void | drawRoundedRect(int x, int y, int w, int h, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize) |
用圆角绘制给定的矩形x、y、w、h。 | |
void | drawStaticText(const QPointF &topLeftPosition, const QStaticText &staticText) |
void | drawStaticText(const QPoint &topLeftPosition, const QStaticText &staticText) |
在给定的topLeftPosition位置绘制给定的staticText。 将使用painter上设置的字体和变换绘制文本。如果painter上设置的字体和/或转换与用于初始化QStaticText,布局的字体和/或转换不同,则必须重新计算布局。使用 QStaticText::prepare()用稍后将绘制的字体和转换来初始化staticText。 如果 topLeftPosition与staticText初始化时或最后一次绘制时不同,则将文本转换到新位置时会有轻微的开销。
| |
void | drawStaticText(int left, int top, const QStaticText &staticText) |
在左上方坐标绘制静态文本。 | |
void | drawText(const QPointF &position, const QString &text) |
void | drawText(const QPoint &position, const QString &text) |
从position给定位置开始,按照当前定义的文本方向text绘制给定文本。 此函数不处理换行符(\n),因为它不能将文本分成多行,也不能显示换行符。如果要使用换行符绘制多行文本,或者希望文本换行,请使用采用矩形的QPainter::drawText()重载。 默认情况下,QPainter绘制文本时会消除锯齿。 注意:y轴位置用作字体的基线。 | |
void | drawText(int x, int y, const QString &text) |
重载。 使用painter当前定义的文本方向在位置(x,y)绘制给定文本text。 默认情况下,QPainter绘制文本时会消除锯齿。注意:y轴位置用作字体的基线。 | |
void | drawText(const QRectF &rectangle, int flags, const QString &text, QRectF *boundingRect = nullptr) |
void | drawText(const QRect &rectangle, int flags, const QString &text, QRect *boundingRect = nullptr) |
在提供的矩形rectangle内绘制给定文本text。矩形rectangle和对齐标志flags一起定义了文本的锚点。 boundingRect(如果不为null)被设置为包围整个文本的矩形。例如,在下图中,虚线表示由函数计算的boundingRect,虚线表示矩形: flags参数是以下标志的按位“或”运算:
默认情况下,QPainter绘制文本时会消除锯齿。 注意:矩形的y坐标用作字体的顶部。 | |
void | drawText(int x, int y, int width, int height, int flags, const QString &text, QRect *boundingRect = nullptr) |
在具有原点(x,y)、宽度和高度的矩形内绘制给定文本text。【其它参数及用法如上】 | |
void | drawText(const QRectF &rectangle, const QString &text, const QTextOption &option = QTextOption()) |
使用选项option控制给定文本text的位置和方向,在指定的矩形中绘制文本。“option”中给出的选项会覆盖在QPainter对象本身上设置的选项。 默认情况下,QPainter绘制文本时会消除锯齿。 注意:矩形的y坐标用作字体的顶部。 | |
void | drawTiledPixmap(const QRectF &rectangle, const QPixmap &pixmap, const QPointF &position = QPointF()) |
void | drawTiledPixmap(const QRect &rectangle, const QPixmap &pixmap, const QPoint &position = QPoint()) |
在给定矩形rectangle内绘制平铺位图pixmap,其原点位于给定位置position。 调用 drawTiledPixmap()类似于多次调用drawPixmap() 来用像素图填充(平铺)一个区域,但根据底层窗口系统的不同,这样做可能会更有效。 与普通dpi显示器相比,drawTiledPixmap()将在高dpi显示器(devicePixelRatio > 1)上产生相同的视觉平铺模式。 在像素图pixmap上设置devicePixelRatio以控制图块大小。例如,将其设置为平铺宽度和高度的一半(在1x和2x显示器上),并在2x显示器上产生高分辨率输出。 位置position偏移始终在painter 坐标系中,与显示设备像素比率无关。 | |
void | drawTiledPixmap(int x, int y, int width, int height, const QPixmap &pixmap, int sx = 0, int sy = 0) |
在指定矩形中绘制平铺位图。(x,y)指定要在其上绘制的绘制设备的左上角点;具有给定的宽度和高度。(sx,sy)指定位图中要绘制的左上角点;这默认为(0,0)。 | |
bool | end() |
结束绘画。绘画时使用的任何资源都将被释放。通常不需要调用它,因为它是由析构函数调用的。 如果painter非活动状态,则返回true否则返回false。 | |
void | endNativePainting() |
在手动发出本机绘画命令后恢复painter。让painter在调用任何其他绘画命令之前恢复它所依赖的本机状态。 | |
void | eraseRect(const QRectF &rectangle) |
void | eraseRect(const QRect &rectangle) |
擦除给定矩形rectangle内的区域。相当于:fillRect(rectangle, background()); | |
void | eraseRect(int x, int y, int width, int height) |
从(x,y)开始擦除给定宽度和高度的矩形内的区域。 | |
void | fillPath(const QPainterPath &path, const QBrush &brush) |
使用给定的画笔填充给定的路径path,并不绘制该轮廓。。 您可以指定QColor而不是QBrush;QBrush构造函数(采用QColor参数)将自动创建实体图形笔刷。 | |
void | fillRect(const QRectF &rectangle, const QBrush &brush) |
void | fillRect(const QRect &rectangle, const QBrush &brush) |
用指定的画笔brush填充给定的矩形rectangle。 或者,您可以指定一个QColor而不是QBrush构造函数(采用QColor参数)将自动创建一个纯色图案画笔。 | |
void | fillRect(const QRect &rectangle, Qt::GlobalColor color) |
void | fillRect(const QRectF &rectangle, const QColor &color) |
用指定的颜色color填充给定的矩形rectangle。 | |
void | fillRect(int x, int y, int width, int height, const QColor &color) |
void | fillRect(int x, int y, int width, int height, Qt::GlobalColor color) |
使用给定的颜色color以给定的宽度和高度填充从(x,y)开始的矩形。 | |
void | fillRect(int x, int y, int width, int height, const QBrush &brush) |
使用给定的画笔color以给定的宽度和高度填充从(x,y)开始的矩形。 | |
void | fillRect(const QRectF &rectangle, Qt::GlobalColor color) |
用指定的颜色color填充给定的矩形rectangle。 | |
void | fillRect(const QRect &rectangle, Qt::BrushStyle style) |
void | fillRect(const QRectF &rectangle, Qt::BrushStyle style) |
用指定的画刷样式style填充给定的矩形。 | |
void | fillRect(int x, int y, int width, int height, Qt::BrushStyle style) |
使用指定的画刷样式style以给定的宽度和高度填充从(x,y)开始的矩形。 | |
void | fillRect(int x, int y, int width, int height, QGradient::Preset preset) |
使用给定的渐变预设preset,以给定的宽度和高度填充从(x,y)开始的矩形。 | |
void | fillRect(const QRect &rectangle, QGradient::Preset preset) |
void | fillRect(const QRectF &rectangle, QGradient::Preset preset) |
用指定的渐变预设 preset 填充给定的矩形。 | |
const QFont & | font() const |
返回当前设置的用于绘制文本的字体。 | |
QFontInfo | fontInfo() const |
如果painter处于活动状态,则返回painter的字体信息。否则,返回值是未定义的。 | |
QFontMetrics | fontMetrics() const |
如果painter处于活动状态,则返回画师的字体规格。否则,返回值是未定义的。 | |
bool | hasClipping() const |
如果已设置剪辑,则返回true否则返回false。 | |
bool | isActive() const |
如果begin()已被调用而 end() 尚未被调用,则返回true否则返回false。 | |
Qt:: LayoutDirection | layoutDirection() const |
返回绘制文本时painter使用的布局方向。 | |
qreal | opacity() const |
返回painter的不透明度。默认值为1。 | |
QPaintEngine * | paintEngine() const |
如果painter处于活动状态,则返回painter当前正在操作的绘画引擎,否则为0。 | |
const QPen & | pen() const |
返回画师的当前pen。 | |
QPainter:: RenderHints | renderHints() const |
返回一个标志,该标志指定为此painter设置的呈现提示。 | |
void | resetTransform() |
重置使用 translate(), scale(), shear(), rotate(), setWorldTransform(), setViewport() and setWindow()进行的任何变换。详见:Coordinate Transformations。 | |
void | restore() |
恢复当前painter状态(从堆栈中弹出保存的状态)。 | |
void | rotate(qreal angle) |
顺时针旋转坐标系。给定的角度angle参数以度为单位。 | |
void | save() |
保存当前painter状态(将状态推送到堆栈上)。save()后面必须跟有相应的restore()和end()函数展开堆栈。 | |
void | scale(qreal sx, qreal sy) |
按(sx,sy)缩放坐标系。 | |
void | setBackground(const QBrush &brush) |
将painter的背景笔刷设置为给定的笔刷。 背景画笔是在绘制不透明文本、点画线条和位图时填充的画笔。背景笔刷在透明背景模式(默认设置)下不起作用。 | |
void | setBackgroundMode(Qt::BGMode mode) |
将painter的背景模式mode设置为给定模式。 Qt::TransparentMode (默认设置)绘制点画线条和文本,而不设置背景像素。 Qt::OpaqueMode用当前背景色填充这些空间。 请注意,为了透明地绘制位图或点阵图,您必须使用QPixmap::setMask()。 | |
void | setBrush(const QBrush &brush) |
将painter的笔刷设置为给定的笔刷brush。 painter的画笔定义了如何填充形状。 | |
void | setBrush(Qt::BrushStyle style) |
将painter的画笔设置为黑色和指定的样式。 | |
void | setBrushOrigin(const QPointF &position) |
void | setBrushOrigin(const QPoint &position) |
画笔原点position指定画笔的(0,0)坐标。 painter不会绘制背景,除非通过将控件的autoFillBackground 属性设置为true来明确告诉它这样做。 | |
void | setBrushOrigin(int x, int y) |
画笔原点position指定画笔的(0,0)坐标。【其它同上】 | |
void | setClipPath(const QPainterPath &path, Qt::ClipOperation operation = Qt::ReplaceClip) |
启用剪辑,并通过剪辑操作将painter的剪辑路径设置为给定路径path。 请注意,剪辑路径是在逻辑(绘画)坐标中指定的。 | |
void | setClipRect(const QRectF &rectangle, Qt::ClipOperation operation = Qt::ReplaceClip) |
void | setClipRect(const QRect &rectangle, Qt::ClipOperation operation = Qt::ReplaceClip) |
启用剪辑,并使用给定的剪辑操作将剪辑区域设置为给定的矩形。默认操作是替换当前剪辑矩形。 请注意,剪辑矩形是在逻辑(绘画)坐标中指定的。 | |
void | setClipRect(int x, int y, int width, int height, Qt::ClipOperation operation = Qt::ReplaceClip) |
启用剪辑,并将剪辑区域设置为从(x,y)开始的具有给定宽度和高度的矩形。 | |
void | setClipRegion(const QRegion ®ion, Qt::ClipOperation operation = Qt::ReplaceClip) |
使用指定的剪辑操作将剪辑区域设置为给定区域。默认剪辑操作是替换当前剪辑区域。 注意剪辑区域是以逻辑坐标给出的。 | |
void | setClipping(bool enable) |
如果enable为true,则启用剪辑;如果enable为false,则禁用剪辑。 | |
void | setCompositionMode(QPainter::CompositionMode mode) |
将合成模式设置为给定模式。 警告:只有在QImage上运行的QPainter完全支持所有合成模式。X11支持光栅操作模式,如compositionMode()中所述。 | |
void | setFont(const QFont &font) |
将painter的字体设置为给定字体font。 该字体由后续的 drawText() 函数使用。文本颜色与钢笔颜色相同。 如果您设置了一种不可用的字体,Qt会找到一种近似匹配的字体。font() 返回您使用setFont()设置的内容, fontInfo() 将返回实际使用的字体(可能相同)。 | |
void | setLayoutDirection(Qt::LayoutDirection direction) |
将painter在绘制文本时使用的布局方向设置为指定方向。 默认值是Qt::LayoutDirectionAuto,它将隐式确定所绘制文本的方向。 | |
void | setOpacity(qreal opacity) |
将painter的不透明度设置为不透明度。该值应在0.0到1.0的范围内,其中0.0表示完全透明,1.0表示完全不透明。 在painter上设置的不透明度将单独应用于所有绘制操作。 | |
void | setPen(const QPen &pen) |
将painter的pen设置为给定的pen。 pen定义了如何绘制线条和轮廓,还定义了文本颜色。 | |
void | setPen(const QColor &color) |
将painter的pen设置为具有Qt::SolidLine样式、宽度1和指定的color。 | |
void | setPen(Qt::PenStyle style) |
将painter的pen设置为给定的样式、宽度1和黑色。 | |
void | setRenderHint(QPainter::RenderHint hint, bool on = true) |
void | setRenderHints(QPainter::RenderHints hints, bool on = true) |
如果on为true,则在painter上设置给定的渲染提示hints/hint;否则清除渲染提示。 | |
void | setTransform(const QTransform &transform, bool combine = false) |
设置世界变换矩阵。如果combine为true,则指定的转换与当前矩阵合并;否则它替换当前矩阵。 | |
void | setViewTransformEnabled(bool enable) |
如果enable为true,则启用视图转换;如果enable为false,则禁用视图转换。 | |
void | setViewport(const QRect &rectangle) |
将painter的视口矩形设置为给定的矩形rectangle,并启用视图变换。 视口矩形是视图转换的一部分。视口指定设备坐标系。它的姊妹视图window()指定了逻辑坐标系。 默认视区矩形与设备的矩形相同。 | |
void | setViewport(int x, int y, int width, int height) |
将painter的视口矩形设置为从(x,y)开始的具有给定宽度和高度的矩形。 | |
void | setWindow(const QRect &rectangle) |
将painter的窗口设置为给定的矩形rectangle,并启用视图变换。 窗口矩形是视图转换的一部分。该窗口指定逻辑坐标系。它的姊妹视图 viewport()指定了设备坐标系。 默认窗口矩形与设备的矩形相同。 | |
void | setWindow(int x, int y, int width, int height) |
将painter的窗口设置为从(x,y)开始并具有给定宽度和高度的矩形。 | |
void | setWorldMatrixEnabled(bool enable) |
如果enable为true,则启用转换;如果enable为false,则禁用转换。世界变换矩阵不变。 | |
void | setWorldTransform(const QTransform &matrix, bool combine = false) |
设置世界变换矩阵。如果combine为true,则指定的矩阵与当前矩阵合并;否则它替换当前矩阵。 | |
void | shear(qreal sh, qreal sv) |
通过(sh,sv)剪切坐标系。 | |
void | strokePath(const QPainterPath &path, const QPen &pen) |
用pen指定的钢笔绘制路径的轮廓(笔画) | |
bool | testRenderHint(QPainter::RenderHint hint) const |
如果设置了提示,则返回true否则返回false。 | |
const QTransform & | transform() const |
worldTransform()的别名。返回世界变换矩阵。 | |
void | translate(const QPointF &offset) |
void | translate(const QPoint &offset) |
按照给定的偏移量平移坐标系;即给定的偏移量加到点上。 | |
void | translate(qreal dx, qreal dy) |
通过向量(dx,dy)平移坐标系。 | |
bool | viewTransformEnabled() const |
如果启用了视图转换,则返回true否则返回false。 | |
QRect | viewport() const |
返回视区矩形。 | |
QRect | window() const |
返回窗口矩形。 | |
bool | worldMatrixEnabled() const |
如果启用了世界变换,则返回true否则返回false。 | |
const QTransform & | worldTransform() const |
返回世界变换矩阵。 |