本页内容

EllipseShape QML Type

一种可渲染椭圆、弧线或扇形的形状组件。更多...

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

属性

详细说明

EllipseShape 控件用于绘制椭圆,可自定义其显示为完整的椭圆、拱形或带填充的扇形。其外观由 `startAngle ` 和 `sweepAngle ` 属性控制。

基本椭圆

默认情况下,该控件渲染一个完整的椭圆。内部填充色由fillColor 属性决定,轮廓则根据strokeColor 、strokeWidth 和strokeStyle 属性进行绘制。

弧线和扇形

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

弧线模式:要创建简单的弧线(仅轮廓),请将fillColor 设置为"transparent" 。弧线的线型可通过dashPattern 和dashOffset 进行自定义。

扇形模式:要绘制带填充的扇形(与中心相连的扇形),只需将fillColor 设置为0.0。扇形的轮廓也会被描边。

环形图模式:要创建环形图(中空椭圆),请将innerArcRatio 设置为 0.0 到 1.0 之间的值。这定义了内椭圆半径与外椭圆半径的比率。

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

可以通过设置strokeColor 和strokeWidth 属性,为椭圆添加具有独立颜色和粗细的可选边框。将颜色设置为transparent 将创建一个无填充色的边框。

可通过cornerRadius 属性绘制圆角椭圆。cornerRadius 的默认值为10度。

EllipseShape 对象中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 未启用,其值为 null。此时,填充将根据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.