En esta página

InnerShadow QML Type

Genera una sombra coloreada y difuminada dentro de la fuente. Más...

Import Statement: import Qt5Compat.GraphicalEffects
Since: QtGraphicalEffects 1.0
Inherits:

Item

Propiedades

Descripción detallada

Por defecto, el efecto produce una imagen de sombra de alta calidad, por lo que la velocidad de renderizado de la sombra puede no ser la máxima posible. La velocidad de renderizado se reduce especialmente si los bordes de la sombra están muy suavizados. Para casos de uso que requieran una mayor velocidad de renderizado y para los que no sea necesaria la máxima calidad visual posible, la propiedad fast puede establecerse a true.

FuenteEfecto aplicado

Nota: Este efecto está disponible cuando se ejecuta con OpenGL.

Ejemplo

El siguiente ejemplo muestra cómo aplicar el efecto.

import QtQuick
import Qt5Compat.GraphicalEffects

Item {
    width: 300
    height: 300

    Rectangle {
        anchors.fill: parent
    }

    Image {
        id: butterfly
        source: "images/butterfly.png"
        sourceSize: Qt.size(parent.width, parent.height)
        smooth: true
        visible: false
    }

    InnerShadow {
        anchors.fill: butterfly
        radius: 8.0
        samples: 16
        horizontalOffset: -3
        verticalOffset: 3
        color: "#b0000000"
        source: butterfly
    }
}

Documentación de propiedades

cached : bool

Esta propiedad permite almacenar en caché los píxeles de salida del efecto para mejorar el rendimiento del renderizado. Cada vez que se cambian las propiedades de la fuente o del efecto, los píxeles de la caché deben actualizarse. El consumo de memoria se incrementa, ya que se requiere un buffer extra de memoria para almacenar la salida del efecto.

Se recomienda desactivar la caché cuando se animen la fuente o las propiedades del efecto.

Por defecto, la propiedad está establecida en false.

color : color

Esta propiedad define el valor de color RGBA que se utiliza para la sombra.

Por defecto, la propiedad se establece en "black".

Ejemplos de salida con diferentes valores de color

color #000000 color: #ffffff color: #ffffff #ff0000
radius: 16radius: 16radius: 16
samples: 24samples: 24samples: 24
horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0verticalOffset: 0
spread: 0.2spread: 0.2spread: 0.2

fast : bool

Esta propiedad selecciona el algoritmo de desenfoque que se utiliza para producir la suavidad del efecto. Si se establece en true se activa el algoritmo rápido, si se establece en false se produce un resultado de mayor calidad.

Por defecto, la propiedad está establecida en false.

Ejemplos de salida con diferentes valores de fast

fast: false fast: true
radius: 16radius: 16
samples: 24samples: 24
color: #000000color: #000000
horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0
spread: 0.2spread: 0.2

horizontalOffset : real

Las propiedades HorizontalOffset y verticalOffset definen el desplazamiento de la sombra renderizada en comparación con la posición del elemento InnerShadow. A menudo, el elemento InnerShadow está anclado de forma que llena el elemento fuente. En este caso, si las propiedades HorizontalOffset y verticalOffset se establecen en 0, la sombra se renderiza completamente dentro del elemento fuente. Cambiando las propiedades offset, la sombra puede posicionarse relativamente al elemento fuente.

Los valores van de -inf a inf. Por defecto, las propiedades están establecidas en 0.

Ejemplos de salida con diferentes valores de horizontalOffset

horizontalOffset: -20 horizontalOffset: 0 horizontalOffset: 20
radius: 16radius: 16radius: 16
samples: 24samples: 24samples: 24
color: #000000color: #000000color: #000000
verticalOffset: 0verticalOffset: 0verticalOffset: 0
spread: 0spread: 0spread: 0

radius : real

El radio define la suavidad de la sombra. Un radio mayor hace que los bordes de la sombra aparezcan más borrosos.

En función del valor del radio, el valor de samples debe ser lo suficientemente grande para garantizar la calidad visual.

El valor oscila entre 0,0 (sin desenfoque) e inf. Por defecto, la propiedad está ajustada a 0.0 (sin desenfoque).

Ejemplos de salida con diferentes valores de radio

radio: 0 radio: 6 radio: 12
samples: 24samples: 24samples: 24
color: #000000color: #000000color: #000000
horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0verticalOffset: 0
spread: 0spread: 0spread: 0

samples : int

Esta propiedad define cuántas muestras se toman por píxel cuando se realiza el cálculo del desenfoque de suavizado de bordes. Un valor mayor produce mejor calidad, pero es más lento de renderizar.

Idealmente, este valor debería ser dos veces mayor que el valor de radio más alto requerido, por ejemplo, si el radio se anima entre 0.0 y 4.0, las muestras deberían establecerse en 8.

El valor oscila entre 0 y 32. Por defecto, la propiedad se establece en 0.

Esta propiedad no está pensada para ser animada. Cambiar esta propiedad puede hacer que se recompilen los shaders OpenGL subyacentes.

Cuando la propiedad fast está establecida a true, esta propiedad no tiene efecto.

source : variant

Esta propiedad define el elemento fuente que se va a utilizar como fuente para la sombra generada.

Nota: No se admite que el efecto se incluya a sí mismo, por ejemplo estableciendo source como padre del efecto.

spread : real

Esta propiedad define cómo de grande es la parte del color de la sombra que se refuerza cerca de los bordes de la fuente.

El valor oscila entre 0,0 y 1,0. Por defecto, la propiedad está establecida en 0.5.

Ejemplos de salida con diferentes valores de dispersión

dispersión: 0.0 dispersión: 0.3 dispersión: 0.5
radius: 16radius: 16radius: 16
samples: 24samples: 24samples: 24
color: #000000color: #000000color: #000000
horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0verticalOffset: 0

verticalOffset : real

Las propiedades HorizontalOffset y verticalOffset definen el desplazamiento de la sombra renderizada en comparación con la posición del elemento InnerShadow. A menudo, el elemento InnerShadow está anclado de forma que llena el elemento fuente. En este caso, si las propiedades HorizontalOffset y verticalOffset se establecen en 0, la sombra se renderiza completamente dentro del elemento fuente. Cambiando las propiedades offset, la sombra puede posicionarse relativamente al elemento fuente.

Los valores van de -inf a inf. Por defecto, las propiedades están establecidas en 0.

Ejemplos de salida con diferentes valores de horizontalOffset

horizontalOffset: -20 horizontalOffset: 0 horizontalOffset: 20
radius: 16radius: 16radius: 16
samples: 24samples: 24samples: 24
color: #000000color: #000000color: #000000
Desplazamiento vertical: 0Desplazamiento vertical: 0Desplazamiento vertical: 0
spread: 0spread: 0spread: 0

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