ShapePath QML 类型

描述了路徑及其相關屬性,用於描邊和填充。 更多信息...

導入聲明import QtQuick.Shapes 1.7
繼承

Path

屬性

詳細描述

一個 Shape 包含一個或多個 ShapePath 元素。至少需要一個 ShapePath 才能讓 Shape 產生可見的輸出。ShapePath 本身是一個 Path,帶有描述描邊和填充參數的附加屬性,例如描邊寬度和顏色、填充顏色或漸變、接合和帽邊樣式等。與普通 Path 對象一樣,ShapePath 也包含一個途徑元素列表,例如 PathMovePathLinePathCubicPathQuadPathArc,以及一個起始位置。

這些數據集中的任何屬性更改都會逐層上傳並改變 Shape 的輸出。這意味著可以簡單易變地更改,甚至使用常用的 QML 綁定和類似於 NumberAnimation 的動畫類型來動畫起止位置、控制點或任何描邊或填充參數。

以下範例中,線接合樣式會根據 joinStyleIndex 的值自動更改

ShapePath {
    strokeColor: "black"
    strokeWidth: 16
    fillColor: "transparent"
    capStyle: ShapePath.RoundCap

    property int joinStyleIndex: 0

    property variant styles: [
        ShapePath.BevelJoin,
        ShapePath.MiterJoin,
        ShapePath.RoundJoin
    ]

    joinStyle: styles[joinStyleIndex]

    startX: 30
    startY: 30
    PathLine { x: 100; y: 100 }
    PathLine { x: 30; y: 100 }
}

一旦與 Shape 相關聯,這裡是 joinStyleIndex 為 2 (ShapePath.RoundJoin)的輸出

參見Qt Quick 範例 - Shapes天氣預報範例Shape

屬性文件

capStyle : 選項枚舉

该属性定义了线条端点的绘制方式。默认值是 ShapePath.SquareCap

常量描述
ShapePath.FlatCap一个不覆盖线条端点的方形线条结束。
ShapePath.SquareCap一个覆盖线条端点并将其延伸到线条宽度一半的方形线条结束。
ShapePath.RoundCap一个圆型线条结束。

dashOffset : real

该属性定义了虚线模式的起始点,以虚线模式指定的单位来度量。

默认值是 0。

另请参阅QPen::setDashOffset


dashPattern : list<real>

该属性定义了当 ShapePath.strokeStyle 设置为 ShapePath.DashLine 时,的虚线模式。模式必须指定为偶数个正条目,其中条目 1、3、5 等是虚线,2、4、6 等是空隙。该模式以画笔的宽度为单位给出。

默认值是 (4, 2),表示 4 * ShapePath.strokeWidth 像素的虚线后跟 2 * ShapePath.strokeWidth 像素的空隙。

另请参阅QPen::setDashPattern


fillColor : color

该属性包含填充颜色。

当设置为 transparent 时,不执行填充。

默认值为 white


fillGradient : ShapeGradient

该属性定义了填充渐变。默认情况下不启用渐变,值为 null。在这种情况下,填充使用基于 ShapePath.fillColor 的值的单色。

当设置时,ShapePath.fillColor 被忽略,填充使用 ShapeGradient 的一种子类型。

注意:这里不能使用渐变类型。相反,建议使用高级子类型之一,如 LinearGradient


fillRule : enumeration

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

常量描述
ShapePath.OddEvenFill奇偶填充规则。
ShapePath.WindingFill非零环绕填充规则。

joinStyle : enumeration

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

常量描述
ShapePath.MiterJoin线的边缘延伸至角度交汇,并填充该区域。
ShapePath.BevelJoin填充了两条线之间的三角形凹槽。
ShapePath.RoundJoin填充了两条线之间的圆弧。

miterLimit : int

joinStyle 设置为 ShapePath.MiterJoin 时,该属性指定了斜接连接可以延伸多远。

默认值是 2。


pathHints : PathHints [since 6.7]

此属性描述形状的特征。如果设置,这些提示可以允许优化的渲染。默认情况下,没有设置提示。它可以是以下值的组合

常量描述
ShapePath.PathLinear路径只包含直线,没有曲线。
ShapePath.PathQuadratic路径没有任何二次曲线:只有直线和二次贝塞尔曲线。
ShapePath.PathConvex路径没有凹槽或孔。形状内部两个点之间的所有直线都将完全在形状内部。
ShapePath.PathFillOnRight路径遵循TrueType约定,实体填充的轮廓控制点按顺时针顺序排列,形状中的孔的轮廓控制点按逆时针顺序排列。
ShapePath.PathSolid路径没有孔,或者从数学角度讲它是单连通的
ShapePath.PathNonIntersecting路径轮廓不交叉。
ShapePath.PathNonOverlappingControlPointTriangles由曲线控制点定义的三角形彼此不重叠,也不与任何线段重叠。此外,没有线段相交。这意味着PathNonIntersecting

并非所有提示都是逻辑上独立的,但依赖关系不被强制执行。例如,《PathIsLinear》暗示《PathIsQuadratic》,但没有《PathIsQuadratic》也可以有《PathIsLinear》。

路径提示属性描述了已知为真的语句集;没有提示并不意味着相应的语句是错误的。

此属性自Qt 6.7引入。


strokeColor : color

此属性包含描边颜色。

当设置为transparent时,不执行描边。

默认值为 white


strokeStyle : enumeration

此属性定义描边样式。默认值是ShapePath.SolidLine。

常量描述
ShapePath.SolidLine一条普通的线。
ShapePath.DashLine由几个像素分隔的虚线。

strokeWidth : real

此属性包含描边宽度。

当设置为负值时,不执行描边。

默认值是1。


© 2024 The Qt Company Ltd。此处包含的文档贡献是各自所有者的版权。此处提供的文档是根据Free Software Foundation发布的GNU自由文档许可1.3版条款许可的。[Qt](https://doc.qt.ac.cn/qt/trademarks.html)及其相关标志是芬兰和/或其他国家的The Qt Company Ltd.的商标。所有其他商标均为各自所有者的财产。