ShapePath QML Type
Describe una Trayectoria y las propiedades asociadas para el trazo y el relleno. Más...
| Import Statement: | import QtQuick.Shapes 1.11 |
| Inherits: |
Propiedades
- capStyle : enumeration
- cosmeticStroke : bool
(since 6.11) - dashOffset : real
- dashPattern : list<real>
- fillColor : color
- fillGradient : ShapeGradient
- fillItem : Item
(since 6.8) - fillRule : enumeration
- fillTransform : matrix4x4
(since 6.8) - joinStyle : enumeration
- miterLimit : int
- pathHints : PathHints
(since 6.7) - strokeColor : color
- strokeStyle : enumeration
- strokeWidth : real
- trim
(since 6.10)- trim.end : real
(since 6.10) - trim.offset : real
(since 6.10) - trim.start : real
(since 6.10)
- trim.end : real
Descripción detallada
Un Shape contiene uno o más elementos ShapePath. Se necesita al menos un ShapePath para que la salida Shape sea visible. Un ShapePath es en sí mismo un Path con propiedades adicionales que describen los parámetros de trazo y relleno, como la anchura y el color del trazo, el color o el degradado del relleno, los estilos de unión y remate, etc. Al igual que los objetos ordinarios Path, ShapePath también contiene una lista de elementos del trazado como PathMove, PathLine, PathCubic, PathQuad, PathArc, junto con una posición inicial.
Cualquier cambio de propiedad en estos conjuntos de datos será burbujeado y cambiará la salida del Shape. Esto significa que es simple y fácil cambiar, o incluso animar, la posición inicial y final, los puntos de control, o cualquier parámetro de trazo o relleno utilizando los habituales enlaces QML y tipos de animación como NumberAnimation.
En el siguiente ejemplo, el estilo de unión de líneas cambia automáticamente en función del valor de 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 } }
Una vez asociado a un objeto Shape, éste es el resultado con un joinStyleIndex de 2 (ShapePath.RoundJoin):

Vea también Qt Quick Ejemplos - Formas, Ejemplo de Pronóstico del Tiempo, y Shape.
Documentación de propiedades
capStyle : enumeration
Esta propiedad define cómo se dibujan los puntos finales de las líneas. El valor por defecto es ShapePath.SquareCap.
| Constante | Descripción |
|---|---|
ShapePath.FlatCap | Un final de línea cuadrado que no cubre el punto final de la línea. |
ShapePath.SquareCap | Un final de línea cuadrado que cubre el punto final y se extiende más allá de él la mitad del ancho de la línea. |
ShapePath.RoundCap | Un final de línea redondeado. |
cosmeticStroke : bool [since 6.11]
Esta propiedad establece si la anchura del trazo permanece constante a pesar de la escala de renderizado.
Cuando esta propiedad está establecida a true, el contorno de la forma se dibuja con una anchura constante en píxeles independientes del dispositivo, como se especifica en strokeWidth, independientemente de cualquier transformación aplicada a la forma, como QtQuick::Item::scale.
El valor por defecto es false.
Esta propiedad se introdujo en Qt 6.11.
Véase también strokeWidth.
dashOffset : real
Esta propiedad define el punto de inicio en el patrón de guiones, medido en unidades utilizadas para especificar el patrón de guiones.
El valor por defecto es 0.
Véase también QPen::setDashOffset().
dashPattern : list<real>
Esta propiedad define el patrón de guiones cuando strokeStyle se establece en ShapePath.DashLine. El patrón debe especificarse como un número par de entradas positivas donde las entradas 1, 3, 5... son los guiones y 2, 4, 6... son los espacios. El patrón se especifica en unidades del ancho de la pluma.
El valor por defecto es (4, 2), lo que significa un guión de 4 * strokeWidth píxeles seguido de un espacio de 2 * strokeWidth píxeles.
Véase también QPen::setDashPattern().
fillColor : color
Esta propiedad contiene el color de relleno.
Cuando se establece en transparent, no se produce relleno.
El valor por defecto es white.
Nota: Si fillGradient o fillItem tienen un valor distinto de null, tendrán prioridad sobre fillColor. En este caso se ignorará fillColor.
fillGradient : ShapeGradient
Esta propiedad define el gradiente de relleno. Por defecto no se activa ningún gradiente y el valor es null. En este caso el relleno se basará en la propiedad fillItem si está establecida, y en caso contrario se utilizará la propiedad fillColor.
Nota: Aquí no se puede utilizar el tipo Gradiente. En su lugar, prefiera utilizar uno de los subtipos avanzados, como LinearGradient.
Nota: Si se establece en un valor distinto de null, fillGradient tendrá prioridad sobre fillItem y fillColor.
Por defecto, se pueden mostrar simultáneamente hasta 256 degradados diferentes. Este límite puede personalizarse con la variable de entorno QT_QUICKSHAPES_MAX_GRADIENTS.
fillItem : Item [since 6.8]
Esta propiedad define otro elemento de Qt Quick que la forma utilizará como relleno. El elemento debe ser un proveedor de textura (como un layered item, un ShaderEffectSource o un Image). Si no es un proveedor de textura válido, esta propiedad será ignorada.
El padre visual de fillItem debe ser un Qt Quick Item . En particular, dado que ShapePath no es un Item, sus hijos no pueden utilizarse como elementos de relleno. Es necesario configurar manualmente el padre de fillItem cuando se crea como hijo de ShapePath.
Por ejemplo, la creación de un objeto Image directamente en la asignación de propiedades fillItem lo convertirá en hijo de ShapePath. En este caso, su padre debe establecerse manualmente. En el siguiente ejemplo utilizamos la ventana contentItem como padre.
fillItem: Image {
visible: false
source: "contents.png"
parent: window.contentItem
}Nota: Cuando se utiliza un elemento con capas como fillItem, es posible que aparezcan efectos de pixelado al transformar el relleno. Establecer la propiedad layer.smooth a true dará mejores resultados visuales en este caso.
Por defecto no se establece ningún elemento de relleno y el valor es null.
Nota: Si se establece un valor distinto de null, la propiedad fillItem tiene prioridad sobre fillColor. A su vez, la propiedad fillGradient tiene prioridad sobre fillItem y fillColor.
Esta propiedad se introdujo en Qt 6.8.
fillRule : enumeration
Esta propiedad contiene la regla de relleno. El valor por defecto es ShapePath.OddEvenFill. Para una explicación de las reglas de relleno, véase QPainterPath::setFillRule().
| Constante | Descripción |
|---|---|
ShapePath.OddEvenFill | Regla de relleno par-impar. |
ShapePath.WindingFill | Regla de llenado de bobinado distinto de cero. |
fillTransform : matrix4x4 [since 6.8]
Esta propiedad define una transformación que se aplicará al patrón de relleno del trazado (fillGradient o fillItem). No tiene efecto si el relleno es un color sólido o transparente. Por defecto no se activa ninguna transformación de relleno y el valor de esta propiedad es la matriz identity.
Este ejemplo muestra un rectángulo relleno con el contenido de myImageItem rotado 45 grados alrededor del punto central de myShape:
ShapePath { fillItem: myImageItem fillTransform: PlanarTransform.fromRotate(45, myShape.width / 2, myShape.height / 2) PathRectangle { x: 10; y: 10; width: myShape.width - 20; height: myShape.height - 20 } }
Esta propiedad se introdujo en Qt 6.8.
joinStyle : enumeration
Esta propiedad define cómo se dibujan las uniones entre dos líneas conectadas. El valor por defecto es ShapePath.BevelJoin.
| Constante | Descripción |
|---|---|
ShapePath.MiterJoin | Los bordes exteriores de las líneas se extienden para encontrarse en un ángulo, y esta área se rellena. |
ShapePath.BevelJoin | Se rellena la muesca triangular entre las dos líneas. |
ShapePath.RoundJoin | Se rellena el arco circular entre las dos líneas. |
miterLimit : int
Cuando joinStyle se establece en ShapePath.MiterJoin, esta propiedad especifica hasta dónde puede extenderse la unión a inglete desde el punto de unión.
El valor por defecto es 2.
pathHints : PathHints [since 6.7]
Esta propiedad describe características de la forma. Si se establecen, estos consejos pueden permitir una representación optimizada. Por defecto, no se establece ninguna pista. Puede ser una combinación de los siguientes valores:
| Constante | Descripción |
|---|---|
ShapePath.PathLinear | El trazado sólo tiene líneas rectas, no curvas. |
ShapePath.PathQuadratic | El trazado no tiene curvas cúbicas: sólo líneas y curvas de Bézier cuadráticas. |
ShapePath.PathConvex | El trazado no tiene abolladuras ni agujeros. Todas las líneas rectas entre dos puntos dentro de la forma estarán completamente dentro de la forma. |
ShapePath.PathFillOnRight | El trazado sigue la convención TrueType, según la cual los contornos alrededor del relleno sólido tienen sus puntos de control ordenados en el sentido de las agujas del reloj, y los contornos alrededor de los agujeros de la forma tienen sus puntos de control ordenados en sentido contrario a las agujas del reloj. |
ShapePath.PathSolid | El trazado no tiene agujeros, es decir, matemáticamente hablando, está simplemente conectado. |
ShapePath.PathNonIntersecting | El contorno de la trayectoria no se cruza consigo mismo. |
ShapePath.PathNonOverlappingControlPointTriangles | Los triángulos definidos por los puntos de control de la curva no se solapan entre sí, ni con ninguno de los segmentos de línea. Además, ningún segmento de línea se cruza. Esto implica PathNonIntersecting. |
No todas las sugerencias son lógicamente independientes, pero las dependencias no se imponen. Por ejemplo, PathLinear implica PathQuadratic, pero es válido tener PathLinear sin PathQuadratic.
La propiedad pathHints describe un conjunto de afirmaciones que se sabe que son verdaderas; la ausencia de una sugerencia no significa necesariamente que la afirmación correspondiente sea falsa.
Esta propiedad se introdujo en Qt 6.7.
strokeColor : color
Esta propiedad contiene el color del trazo.
Cuando se establece en transparent, no se produce el trazo.
El valor por defecto es white.
strokeStyle : enumeration
Esta propiedad define el estilo del trazo. El valor por defecto es ShapePath.SolidLine.
| Constante | Descripción |
|---|---|
ShapePath.SolidLine | Una línea lisa. |
ShapePath.DashLine | Guiones separados por unos pocos píxeles. |
strokeWidth : real
Esta propiedad contiene el ancho del trazo.
Cuando se establece a un valor negativo, no se produce el trazo.
El valor por defecto es 1.
Véase también cosmeticStroke.
trim group
Especifica la sección de esta ruta que se mostrará.
La sección está definida por las fracciones de longitud de la ruta start y end. Por defecto, start es 0 (indica el inicio de la ruta) y end es 1 (indica el final de la ruta), por lo que se muestra toda la ruta.
El valor de offset se añade a start y end. Si esto provoca que se sobrepase o no se alcance el rango [0, 1], los valores se envolverán, al igual que la sección de ruta resultante. El rango efectivo de offset está entre -1 y 1. El valor por defecto es 0.
Estas propiedades se introdujeron en Qt 6.10.
© 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.