path2d QML Value Type
提供 path2d 类型,这是一个与QCanvasPath 匹配的绘图路径容器。更多内容...
| Import Statement: | import QtCanvas2D |
| Since: | Qt 6.12 |
| Status: | Technology preview |
此类型处于技术预览阶段,可能会有变动。
方法
- void addPath(path2d path, transform2d transform)
- void addPath(string svgPath, transform2d transform)
- void addPath(path2d path, int start, int count, transform2d transform)
- void arc(real x, real y, real radius, real startAngle, real endAngle, bool counterClockWise)
- void arcTo(real x1, real y1, real x2, real y2, real radius)
- void beginHoleSubPath()
- void beginSolidSubPath()
- void bezierCurveTo(real cp1x, real cp1y, real cp2x, real cp2y, real x, real y)
- void circle(real x, real y, real radius)
- void clear()
- void closePath()
- void ellipse(real x, real y, real radiusX, real radiusY)
- void ellipseRect(real x, real y, real width, real height)
- bool isEmpty()
- void lineTo(real x, real y)
- void moveTo(real x, real y)
- void quadraticCurveTo(real cpx, real cpy, real x, real y)
- void rect(real x, real y, real width, real height)
- void roundRect(real x, real y, real width, real height, real radius)
- void roundRect(real x, real y, real width, real height, real radiusTopLeft, real radiusTopRight, real radiusBottomRight, real radiusBottomLeft)
- void setPathWinding(const QString &winding)
详细说明
此值类型由QtCanvas2D 导入提供。
另请参阅 QCanvasPath 。
方法文档
void addPath(path2d path, transform2d transform)
将一个path 添加到此路径中,并使用transform 作为变换矩阵。提供transform 参数是可选的。
void addPath(string svgPath, transform2d transform)
将一个svgPath 添加到该路径中,并使用transform 作为变换矩阵。提供transform 参数是可选的。
![]() | |
void addPath(path2d path, int start, int count, transform2d transform)
将path 添加到当前路径中,从start 处的命令开始,并包含count 个命令。可选地使用transform 来修改路径节点。系统会检查start 和count 的范围,以确保调用的命令数量不超过路径中已有的命令数。如果路径不应从当前路径位置继续,请先调用moveTo()。
void arc(real x, real y, real radius, real startAngle, real endAngle, bool counterClockWise)
在当前子路径上添加一条弧,该弧位于以点 (x,y) 为圆心、半径为radius 的圆周上。
startAngle 和endAngle 均以弧度为单位,从x轴开始测量。
曲线的默认方向为顺时针。若要将方向改为逆时针,请将counterClockWise 设置为 true。
void arcTo(real x1, real y1, real x2, real y2, real radius)
向当前子路径添加一条起始点为 (x1,y1)、终点为 (x2,y2) 且radius 的弧线,并通过一条直线将其与前一个子路径连接起来。
void beginHoleSubPath()
开始绘制孔子路径。
void beginSolidSubPath()
开始一个实心子路径。
void bezierCurveTo(real cp1x, real cp1y, real cp2x, real cp2y, real x, real y)
在当前位置与给定的终点之间添加一条三次贝塞尔曲线,使用由 (cp1x,cp1y) 和 (cp2x,cp2y) 指定的控制点。添加曲线后,当前位置将更新为曲线的终点 (x,y)。
void circle(real x, real y, real radius)
创建一个由其中心(x ,y )和半径radius 定义的圆,并将其作为闭合子路径添加到路径中。
注意: 与arc()相比, 此方法不会从子路径的最后一点到圆的起始点添加一条直线。
void clear()
清除路径上所有绘图命令。
另请参阅 isEmpty()。
void closePath()
通过绘制一条连至当前子路径起点的直线来结束该子路径,并自动开始绘制一条新路径。新路径的当前点即为前一条子路径的起始点。
void ellipse(real x, real y, real radiusX, real radiusY)
在中心位置创建新的椭圆形子路径(x ,y ),其参数分别为radiusX 和radiusY 。
该椭圆由一条顺时针曲线组成,起点和终点均为零度(即3点钟位置)。
void ellipseRect(real x, real y, real width, real height)
在由左上角坐标 (x,y)、宽度width 和高度height 定义的边界矩形内创建一个椭圆,并将其作为闭合子路径添加到路径中。
该椭圆由一条顺时针曲线组成,起始点和终点均为零度(即3点钟位置)。
注意:此 方法与QtQuick::Context2D::ellipse() 对应
bool isEmpty()
当路径中不包含任何绘制命令时,返回 true。
另请参阅 clear()。
void lineTo(real x, real y)
从当前位置到坐标为 (x,y) 的点绘制一条直线。
void moveTo(real x, real y)
创建一个新的子路径,其一个点位于 (x,y)。
void quadraticCurveTo(real cpx, real cpy, real x, real y)
在当前点与终点(x ,y )之间添加一条二次贝塞尔曲线,其控制点由(cpx ,cpy )指定。
void rect(real x, real y, real width, real height)
在坐标 (x,y) 处添加一个矩形,其宽度为width ,高度为height ,作为闭合子路径。
void roundRect(real x, real y, real width, real height, real radius)
向路径中添加一个圆角矩形,其坐标由 (x,y,width,height) 指定。radius 参数指定定义圆角矩形各角的椭圆半径。
void roundRect(real x, real y, real width, real height, real radiusTopLeft, real radiusTopRight, real radiusBottomRight, real radiusBottomLeft)
向路径中添加一个圆角矩形,其坐标由 (x 、y 、width 、height) 指定。参数radiusTopLeft 、radiusTopRight 、radiusBottomRight 和radiusBottomLeft 分别指定定义圆角矩形各角的椭圆的半径。
void setPathWinding(const QString &winding)
将当前子路径winding 设置为"counterclockwise" (默认)或"clockwise" 。“counterclockwise”绘制实心子路径,而“clockwise”绘制孔洞。
另请参阅 beginSolidSubPath() 和beginHoleSubPath()。
© 2026 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.
