在本页

EllipseShape QML Type

形状组件,可呈现椭圆、弧线或饼状切片。更多

Import Statement: import QtQuick.Shapes.DesignHelpers 6.11
Since: QtQuick 6.10

属性

详细说明

EllipseShape 项目绘制的是一个椭圆,可以自定义为全椭圆、圆弧或填充饼片。其外观由startAnglesweepAngle 属性控制。

基本椭圆

默认情况下,该项目呈现的是一个完整的椭圆。内部由fillColor 填充,轮廓根据strokeColorstrokeWidthstrokeStyle 属性绘制。

弧形和饼状切片

要创建弧形或饼状切片,请设置startAngle (0-360 度)和sweepAngle (0-360 度),以定义要绘制的椭圆段。

弧线模式:要创建简单的圆弧(只有轮廓),可将fillColor 设置为"transparent" 。圆弧的线条样式可通过dashPatterndashOffset 进行自定义。

饼形模式:要创建填充的饼片(与中心相连的线段),只需设置fillColor 。饼片的轮廓也会被描边。

甜甜圈模式:要创建甜甜圈环(空心椭圆),可将innerArcRatio 设置为 0.0 至 1.0 之间的值。这定义了内椭圆半径与外椭圆半径的比率。

笔触内的区域使用纯色填充(使用fillColor 属性指定)或渐变(使用ShapeGradient 子类型之一定义并使用fillGradient 属性设置)绘制。如果同时指定了颜色和渐变,则使用渐变。

通过设置strokeColorstrokeWidth 属性,可以为椭圆添加可选的边框,边框有自己的颜色和厚度。如果将颜色设置为transparent ,则会创建一个没有填充颜色的边框。

使用cornerRadius 属性可以绘制圆角椭圆。cornerRadius 的默认值为 10 度。

椭圆形的QtQuick.Shapes::Shape::preferredRendererType 的默认值是Shape.CurveRenderer

使用示例

    EllipseShape {
        id: ellipseShape
        anchors.fill: parent
        width: 90
        height: 90
        startAngle: 0
        sweepAngle: 270
    }

椭圆形,切出一个饼片

属性文档

borderMode : enumeration

borderMode 属性决定沿椭圆边缘绘制边框的位置。

常数说明
EllipseShape.Inside边框沿项目内边缘绘制,不影响项目宽度。

这是默认值。

常量说明
EllipseShape.Middle边框绘制在项目边缘,不影响项目宽度。
EllipseShape.Outside边框沿项目外边缘绘制,并按strokeWidth 的值增加项目宽度。

另请参阅 strokeWidth

capStyle : enumeration

该属性定义了如何绘制线条的端点。默认值为ShapePath.SquareCap

常数说明
ShapePath.FlatCap不覆盖直线端点的正方形线端。
ShapePath.SquareCap正方形线端,覆盖端点并超出一半线宽。
ShapePath.RoundCap圆角线端。

cornerRadius : real

控制径向线与椭圆弧相交处的圆角处理。对于饼形线段,该选项会将与外弧线的连接处圆角化。对于甜甜圈线段,也会舍入内弧和外弧的连接。

默认值为10

dashOffset : real

该属性定义了破折号图案的起点,以用于指定破折号图案的单位来衡量。

默认值为0

另请参阅 QPen::setDashOffset() 。

dashPattern : list<real>

strokeStyle 设置为ShapePath.DashLine 时,该属性定义破折号模式。该模式必须指定为偶数个正条目,其中 1、3、5...... 条目为破折号,2、4、6...... 条目为空格。图案以钢笔宽度为单位指定。

默认值为 (4,2),即一个 4 *strokeWidth 像素的破折号后跟一个 2 *strokeWidth 像素的空格。

另请参见 QPen::setDashPattern()。

fillColor : color

该属性用于保存填充颜色。

当设置为transparent 时,不会发生填充。

默认值为"white"

注意: 如果fillGradient 设置为null 以外的值,则将使用该值代替fillColor

fillGradient : ShapeGradient

椭圆填充颜色的 fillGradient。

默认情况下,不启用 fillGradient,且值为空。在这种情况下,填充将使用基于fillColor 值的纯色。

设置后,fillColor 将被忽略,并使用ShapeGradient 子类型之一进行填充。

注意: 此处不能使用Gradient 类型。相反,最好使用高级子类型,如LinearGradient

fillRule : enumeration

该属性包含填充规则。默认值为ShapePath.OddEvenFill 。有关填充规则的解释,请参阅QPainterPath::setFillRule() 。

常数说明
ShapePath.OddEvenFill奇偶填充规则。
ShapePath.WindingFill非零绕组填充规则。

innerArcRatio : real

该属性定义了内弧和外弧之间的比率。

数值范围在 0.0 和 1.0 之间。将值设置为 0.0 会使内弧向中心折叠,绘制出一个实心填充的椭圆。将值设置为 1.0 会使内弧与外椭圆的大小相同,从而只画出一条弧线。介于 0.0 和 1.0 之间的值会创建空心椭圆环。

默认值为0

joinStyle : enumeration

该属性定义如何绘制两条连接线之间的连接线。默认值为ShapePath.BevelJoin

常数说明
ShapePath.MiterJoin两条直线的外缘会延伸至一个角度相交,该区域会被填充。
ShapePath.BevelJoin填充两条直线之间的三角形凹槽。
ShapePath.RoundJoin填充两条直线之间的圆弧。

startAngle : real

该属性定义了绘制椭圆的起始角度(以度为单位)。

0 度指向顶部。角度按顺时针方向增加。

默认值为0

strokeColor : color

该属性包含描边颜色。

当设置为transparent 时,不会出现描边。

默认值为"black"

strokeStyle : enumeration

该属性定义了描边的样式。默认值为ShapePath.SolidLine。

常数说明
ShapePath.SolidLine普通线条。
ShapePath.DashLine破折号以几个像素分开。

strokeWidth : real

该属性用于保存描边宽度。

当设置为负值时,不会出现描边。

默认值为1

sweepAngle : real

startAngle 开始绘制的角度范围(以度为单位)。

如果设置为正值,则按顺时针方向画弧。如果设置为负值,则按逆时针方向绘制弧线。

默认值为360

© 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.