Sur cette page

InnerShadow QML Type

Génère une ombre colorée et floue à l'intérieur de la source. Plus d'informations...

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

Item

Propriétés

Description détaillée

Par défaut, l'effet produit une image d'ombre de haute qualité, ce qui fait que la vitesse de rendu de l'ombre peut ne pas être la plus élevée possible. La vitesse de rendu est particulièrement réduite si les bords de l'ombre sont fortement adoucis. Pour les cas d'utilisation qui nécessitent une vitesse de rendu plus rapide et pour lesquels la meilleure qualité visuelle possible n'est pas nécessaire, la propriété fast peut être réglée sur true (vrai).

SourceEffet appliqué

Remarque : cet effet est disponible lorsque l'application fonctionne avec OpenGL.

Exemple

L'exemple suivant montre comment appliquer l'effet.

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
    }
}

Propriété Documentation

cached : bool

Cette propriété permet de mettre en cache les pixels de sortie de l'effet afin d'améliorer les performances de rendu. Chaque fois que les propriétés de la source ou de l'effet sont modifiées, les pixels du cache doivent être mis à jour. La consommation de mémoire augmente, car une mémoire tampon supplémentaire est nécessaire pour stocker la sortie de l'effet.

Il est recommandé de désactiver le cache lorsque les propriétés de la source ou de l'effet sont animées.

Par défaut, la propriété est définie sur false.

color : color

Cette propriété définit la valeur de la couleur RGBA utilisée pour l'ombre.

Par défaut, la propriété est définie sur "black".

Exemples de sortie avec différentes valeurs de couleur

couleur : #000000 couleur : #ffffff couleur : #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

Cette propriété sélectionne l'algorithme de flou utilisé pour produire la douceur de l'effet. La valeur "true" (vrai) active l'algorithme rapide, tandis que la valeur "false" (faux) produit un résultat de meilleure qualité.

Par défaut, la propriété est définie sur false.

Exemples de résultats avec différentes valeurs 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

Les propriétés HorizontalOffset et verticalOffset définissent le décalage de l'ombre rendue par rapport à la position de l'élément InnerShadow. Souvent, l'élément InnerShadow est ancré de manière à remplir l'élément source. Dans ce cas, si les propriétés HorizontalOffset et verticalOffset sont définies sur 0, l'ombre est rendue entièrement à l'intérieur de l'élément source. En modifiant les propriétés offset, l'ombre peut être positionnée par rapport à l'élément source.

Les valeurs vont de -inf à inf. Par défaut, les propriétés sont définies sur 0.

Exemples de sortie avec différentes valeurs de horizontalOffset

décalage horizontal : -20 décalage horizontal : 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

Le rayon définit la douceur de l'ombre. Un rayon plus grand rend les bords de l'ombre plus flous.

En fonction de la valeur du rayon, la valeur de samples doit être suffisamment grande pour garantir la qualité visuelle.

La valeur est comprise entre 0,0 (pas de flou) et inf. Par défaut, la propriété est définie sur 0.0 (pas de flou).

Exemples de résultats avec différentes valeurs de rayon

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

samples : int

Cette propriété définit le nombre d'échantillons prélevés par pixel lors du calcul du flou d'adoucissement des contours. Une valeur plus élevée permet d'obtenir une meilleure qualité, mais le rendu est plus lent.

Idéalement, cette valeur doit être deux fois plus grande que la valeur la plus élevée du rayon requis. Par exemple, si le rayon est animé entre 0,0 et 4,0, les échantillons doivent être fixés à 8.

La valeur est comprise entre 0 et 32. Par défaut, la propriété est définie sur 0.

Cette propriété n'est pas destinée à être animée. La modification de cette propriété peut entraîner la recompilation des shaders OpenGL sous-jacents.

Lorsque la propriété fast est définie sur true, cette propriété n'a aucun effet.

source : variant

Cette propriété définit l'élément source qui sera utilisé comme source pour l'ombre générée.

Remarque : il n'est pas possible de laisser l'effet s'inclure lui-même, par exemple en définissant la source sur le parent de l'effet.

spread : real

Cette propriété définit la proportion de la couleur de l'ombre qui est renforcée près des bords de la source.

La valeur est comprise entre 0,0 et 1,0. Par défaut, la propriété est définie sur 0.5.

Exemples de sorties avec différentes valeurs d'étalement

étalement : 0,0 étalement : 0.3 écart : 0.5
radius: 16radius: 16radius: 16
samples: 24samples: 24samples: 24
color: #000000color: #000000color: #000000
horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0verticalOffset: 0

verticalOffset : real

Les propriétés HorizontalOffset et verticalOffset définissent le décalage de l'ombre rendue par rapport à la position de l'élément InnerShadow. Souvent, l'élément InnerShadow est ancré de manière à remplir l'élément source. Dans ce cas, si les propriétés HorizontalOffset et verticalOffset sont définies sur 0, l'ombre est rendue entièrement à l'intérieur de l'élément source. En modifiant les propriétés offset, l'ombre peut être positionnée par rapport à l'élément source.

Les valeurs vont de -inf à inf. Par défaut, les propriétés sont définies sur 0.

Exemples de résultats avec différentes valeurs de horizontalOffset

horizontalOffset: -20 horizontalOffset: 0 horizontalOffset: 20
radius: 16radius: 16radius: 16
samples: 24samples: 24samples: 24
color: #000000color: #000000color: #000000
décalage vertical : 0décalage vertical : 0décalage 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.