Glow QML Type
Génère une image floue et colorisée de la source et la place derrière l'original, donnant l'impression que la source brille. Plus d'informations...
| Import Statement: | import Qt5Compat.GraphicalEffects |
| Since: | QtGraphicalEffects 1.0 |
| Inherits: |
Propriétés
- cached : alias
- color : alias
- radius : alias
- samples : alias
- source : alias
- spread : alias
- transparentBorder : alias
Description détaillée
| Source d'information | Effet appliqué |
|---|---|
|
|
Exemple d'application
L'exemple suivant montre comment appliquer l'effet.
import QtQuick import Qt5Compat.GraphicalEffects Item { width: 300 height: 300 Rectangle { anchors.fill: parent color: "black" } Image { id: butterfly source: "images/butterfly.png" sourceSize: Qt.size(parent.width, parent.height) smooth: true visible: false } Glow { anchors.fill: butterfly radius: 8 color: "white" source: butterfly } }
Propriété Documentation
cached : alias
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 : alias
Cette propriété définit la valeur de la couleur RGBA utilisée pour la lueur.
Par défaut, la propriété est définie sur "white".
| Exemples de sortie avec différentes valeurs de couleur | ||
|---|---|---|
|
|
|
| couleur : #ffffff | couleur : #00ff00 | couleur : #aa00ff00 #aa00ff00 |
| radius: 8 | radius: 8 | radius: 8 |
| samples: 17 | samples: 17 | samples: 17 |
| spread: 0.5 | spread: 0.5 | spread: 0.5 |
radius : alias
Le rayon définit la douceur de l'éclat. Un rayon plus grand rend les bords de la lueur plus flous.
En fonction de la valeur du rayon, la valeur de samples doit être suffisamment grande pour garantir la qualité visuelle.
Le flou idéal est obtenu en sélectionnant samples et radius de manière à ce que samples = 1 + radius * 2, par exemple :
| Rayon | Échantillons |
|---|---|
| 0 (pas de flou) | 1 |
| 1 | 3 |
| 2 | 5 |
| 3 | 7 |
Par défaut, la propriété est définie sur floor(samples/2).
| Exemples de sortie avec différentes valeurs de rayon | ||
|---|---|---|
|
|
|
| rayon : 0 | rayon : 6 | rayon : 12 |
| samples: 25 | samples: 25 | samples: 25 |
| color: #ffffff | color: #ffffff | color: #ffffff |
| spread: 0 | spread: 0 | spread: 0 |
samples : alias
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 de rayon la plus élevée plus un, comme par exemple :
| Rayon | Échantillons |
|---|---|
| 0 (pas de flou) | 1 |
| 1 | 3 |
| 2 | 5 |
| 3 | 7 |
Par défaut, la propriété est fixée à 9.
Cette propriété n'est pas destinée à être animée. La modification de cette propriété entraînera la recompilation des shaders OpenGL sous-jacents.
source : alias
Cette propriété définit l'élément source qui sera utilisé comme source pour la lueur 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 : alias
Cette propriété définit dans quelle mesure la couleur de l'éclat est renforcée près des bords de la source.
Les valeurs sont comprises entre 0,0 et 1,0. Par défaut, la propriété est définie sur 0.5.
Remarque : la mise en œuvre est optimisée pour des valeurs d'étalement moyennes et faibles. En fonction de la source, des valeurs d'étalement plus proches de 1,0 peuvent produire des résultats visuellement asymétriques.
| Exemples de résultats avec différentes valeurs de dispersion | ||
|---|---|---|
|
|
|
| écart : 0,0 | étalement : 0,5 | étalement : 1.0 |
| radius: 8 | radius: 8 | radius: 8 |
| samples: 17 | samples: 17 | samples: 17 |
| color: #ffffff | color: #ffffff | color: #ffffff |
transparentBorder : alias
Cette propriété détermine si l'effet a une bordure transparente ou non.
Lorsque cette propriété est définie sur true, l'extérieur de l'élément est complété par un bord transparent, ce qui fait que l'échantillonnage à l'extérieur de la texture source utilise la transparence à la place des pixels du bord. Sans cette propriété, une image dont les bords sont opaques n'aura pas de bord flou.
Par défaut, la propriété est définie sur true. Définissez-la sur false si la source a déjà un bord transparent pour rendre le flou un peu plus rapide.
Dans l'extrait ci-dessous, le rectangle de gauche a des bords transparents et des bords flous, alors que le rectangle de droite n'en a pas.
import QtQuick import Qt5Compat.GraphicalEffects Rectangle { width: 180 height: 100 Row { anchors.centerIn: parent spacing: 16 Rectangle { id: normalRect width: 60 height: 60 color: "black" radius: 10 layer.enabled: true layer.effect: Glow { samples: 15 color: "blue" transparentBorder: false } } Rectangle { id: transparentBorderRect width: 60 height: 60 color: "black" radius: 10 layer.enabled: true layer.effect: Glow { samples: 15 color: "blue" transparentBorder: true } } } }

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










