Sur cette page

InnerShadow QML Type

Génère une ombre colorée et floue à l'intérieur de la source. En savoir plus…

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

Item

Propriétés

Description détaillée

Par défaut, l’effet génère une ombre de haute qualité ; par conséquent, la vitesse de rendu de l’ombre n’est pas nécessairement optimale. La vitesse de rendu est particulièrement réduite lorsque les contours de l’ombre sont fortement adoucis. Pour les cas d’utilisation nécessitant une vitesse de rendu plus rapide et pour lesquels une qualité visuelle optimale n’est pas indispensable, la propriété fast peut être définie sur « true ».

SourceEffet appliqué

Illustration colorée représentant un papillon

Papillon avec effet d'ombre interne

Remarque : cet effet est disponible lors de l'exécution 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
    }
}

Documentation sur les propriétés

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 présents dans le cache doivent être mis à jour. La consommation de mémoire augmente, car un tampon mémoire 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 couleur RGBA utilisée pour l'ombre.

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

Exemples de rendu avec différentes valeurs de couleur

Ombre intérieure noire

Ombre intérieure blanche

Ombre intérieure rouge

color: #000000 color: #ffffff couleur : #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é permet de sélectionner l'algorithme de flou utilisé pour créer l'effet de douceur. Si vous définissez cette propriété sur « true », l'algorithme rapide est activé ; si vous la définissez sur « false », vous obtenez un résultat de meilleure qualité.

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

Exemples de rendu avec différentes valeurs de « fast »

Ombre interne de haute qualité

Rendu rapide des ombres intérieures

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 affichée 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 de décalage, 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

Décalage de l'ombre vers la gauche

Ombre centrée

Décalage de l'ombre vers la droite

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

Le rayon définit la douceur de l'ombre. Plus le rayon est grand, plus les bords de l'ombre apparaissent flous.

En fonction de la valeur du rayon, la valeur de la propriété « samples » doit être suffisamment élevée 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

Pas de flou d'ombre interne

Flou modéré de l'ombre interne

Flou important de l'ombre interne

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 offre une meilleure qualité, mais ralentit le rendu.

Idéalement, cette valeur devrait être deux fois supérieure à la valeur de rayon la plus élevée requise ; par exemple, si le rayon est animé entre 0,0 et 4,0, le nombre d'échantillons devrait être défini sur 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 faire en sorte que l'effet s'inclue lui-même, par exemple en définissant la source comme étant le parent de l'effet.

spread : real

Cette propriété définit dans quelle mesure la couleur de l'ombre est intensifié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 rendu avec différentes valeurs de propagation

Ombre intérieure sans diffusion

Ombre intérieure à diffusion moyenne

Ombre intérieure à forte diffusion

spread : 0,0 spread : 0,3 spread : 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 affichée 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 de décalage, 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 d’ horizontalOffset

Décalage de l'ombre vers la gauche

Ombre centrée

Décalage de l'ombre vers la droite

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.