ShapePath QML 类型
描述了路徑及其相關屬性,用於描邊和填充。 更多信息...
導入聲明 | import QtQuick.Shapes 1.7 |
繼承 |
屬性
- capStyle : 選項枚舉
- dashOffset : 实數
- dashPattern : 实數列表
- fillColor : 颜色
- fillGradient : ShapeGradient
- fillRule : 選項枚舉
- joinStyle : 選項枚舉
- miterLimit : 整數
- pathHints : PathHints
(自 6.7)
- strokeColor : 颜色
- strokeStyle : 選項枚舉
- strokeWidth : 实數
詳細描述
一個 Shape 包含一個或多個 ShapePath 元素。至少需要一個 ShapePath 才能讓 Shape 產生可見的輸出。ShapePath 本身是一個 Path,帶有描述描邊和填充參數的附加屬性,例如描邊寬度和顏色、填充顏色或漸變、接合和帽邊樣式等。與普通 Path 對象一樣,ShapePath 也包含一個途徑元素列表,例如 PathMove、PathLine、PathCubic、PathQuad、PathArc,以及一個起始位置。
這些數據集中的任何屬性更改都會逐層上傳並改變 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 |
该属性定义了当 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 | 填充了两条线之间的圆弧。 |
pathHints : PathHints |
此属性描述形状的特征。如果设置,这些提示可以允许优化的渲染。默认情况下,没有设置提示。它可以是以下值的组合
常量 | 描述 |
---|---|
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.的商标。所有其他商标均为各自所有者的财产。