Sur cette page

RecursiveBlur QML Type

Applique un flou à plusieurs reprises, créant ainsi un effet de flou prononcé. En savoir plus…

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

Item

Propriétés

Description détaillée

L'effet RecursiveBlur adoucit l'image en la rendant floue grâce à un algorithme qui utilise une boucle de rétroaction récursive pour flouter la source plusieurs fois. Cet effet peut donner des résultats plus flous que GaussianBlur ou FastBlur, mais le résultat est produit de manière asynchrone et prend plus de temps.

SourceEffet appliqué

Coléoptère noir sur une feuille

Beetle avec effet de flou récursif

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

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

    RecursiveBlur {
        anchors.fill: bug
        source: bug
        radius: 7.5
        loops: 50
    }
}

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 du cache doivent être mis à jour. La consommation de mémoire augmente, car un tampon de mémoire supplémentaire est nécessaire pour stocker la sortie de l'effet.

Il est recommandé de désactiver la mise en 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 ».

loops : int

Cette propriété définit le nombre d’itérations de flou qui seront effectuées sur la source. Lorsque la propriété est modifiée, le processus de flou itératif démarre. Si la valeur est diminuée ou si elle passe de zéro à une valeur non nulle, un instantané de la source est pris. Cet instantané sert de point de départ au processus.

La boucle d’itération tente de s’exécuter aussi rapidement que possible. La vitesse peut être limitée par le VSYNC, par le temps nécessaire à une étape de flou, ou par les deux. Il peut parfois être souhaitable d’effectuer le flou à un rythme plus lent. Dans ce cas, il peut être pratique de contrôler la propriété à l’aide d’une animation qui augmente la valeur.

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

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

Beetle avec 4 boucles de flou

Beetle avec 20 boucles floues

Beetle avec 70 boucles floues

loops : 4 loops : 20 loops : 70
radius: 7,5radius: 7,5radius: 7,5

progress : real

Cette propriété indique la progression du processus asynchrone de floutage de la source, de 0,0 (aucun floutage) à 1,0 (terminé).

radius : real

Cette propriété définit la distance entre les pixels voisins qui influencent le flou appliqué à chaque pixel. Un rayon plus grand offre une meilleure qualité, mais ralentit le rendu.

Remarque: la valeur du rayon dans cet effet n'est pas destinée à être modifiée ou animée fréquemment. La bonne façon de l'utiliser consiste à définir la valeur appropriée et à la conserver inchangée pendant toute la durée de la séquence de flou itérative.

La valeur varie de (aucun flou) à 16,0 (niveau de flou maximal). Par défaut, la propriété est définie sur « 0.0 » (aucun flou).

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

Beetle avec un rayon de 2,5

Beetle avec un rayon de 4,5

Beetle avec un rayon de 7,5

rayon : 2,5 rayon : 4,5 rayon : 7,5
loops: 20loops: 20loops: 20

Remarque : la propriété « radius » sert à calculer la taille du tampon hors écran de l'effet. Des valeurs plus élevées entraîneront des allocations de mémoire plus importantes.

source : variant

Cette propriété définit l'élément source qui va être flouté.

Remarque : il n'est pas possible de faire en sorte que l'effet s'applique à lui-même, par exemple en définissant la source comme étant le parent de l'effet.

transparentBorder : bool

Cette propriété définit le comportement du flou près des bords de l'élément, là où le flou des pixels est influencé par les pixels situés en dehors des bords de la source.

Si la propriété est définie sur « true », les pixels situés en dehors de la source sont considérés comme transparents, ce qui est similaire à l'extension « clamp-to-border » d'OpenGL. Le flou s'étend légèrement au-delà de la zone de l'élément concerné par l'effet.

Si la propriété est définie sur « false », les pixels situés à l’extérieur de la source sont interprétés comme ayant la même couleur que les pixels situés au bord de l’élément, ce qui est similaire au comportement « clamp-to-edge » d’OpenGL. Le flou ne s’étend pas au-delà de la zone de l’élément d’effet.

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

Exemples de résultats avec différentes valeurs de `transparentBorder`

Effet de flou avec bordure transparente désactivé

Flou avec bordure transparente activée

transparentBorder : false transparentBorder : true
loops: 20loops: 20
radius: 7,5radius: 7,5

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