Pages: 1
- Sujet précédent - QGIS 3.4.5: Police conditionelle des étiquettes de mise en page - Sujet suivant
#1 Thu 23 May 2019 17:26
- gdeneux
- Juste Inscrit !
- Date d'inscription: 21 May 2019
- Messages: 8
QGIS 3.4.5: Police conditionelle des étiquettes de mise en page
Salut la communauté !
Je réalise actuellement une série de cartes concernant des infrastructures routières avec l'outil Atlas de Qgis (V3.4.5). Dans ma mise en page, je représente successivement chaque infrastructure, et une étiquette viens présenter sa catégorie d'enjeu (modéré, fort, ...) qui s'affiche automatiquement en venant lire un champ de la table attributaire :
[%concat('Enjeu ',CASE WHEN "IND_Total" <1000 then 'modéré' when "IND_Total"<2000 then 'fort' else 'prioritaire' end)%]
Cependant pour un meilleur rendu j'aimerais également pouvoir paramétrer la couleur de la police (par exemple rouge si "prioritaire", jaune si "modéré") mais je ne vois pas comment faire. Je parle bien des étiquette du module mise en page (les "zones de texte").
Merci d'avance pour vos réponses.
Dernière modification par gdeneux (Fri 24 May 2019 09:31)
Hors ligne
#2 Fri 24 May 2019 10:44
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS 3.4.5: Police conditionelle des étiquettes de mise en page
Bonjour,
malheureusement on ne peut pas faire cela aussi facilement que l'arrière plan.
Il va falloir utiliser du html et cocher la case rendu en html
On va pouvoir donc mettre n'importe quelle couleur en html. La contrepartie c'est qu'il va falloir renseigner tous les éléments concernant le style du texte : la police, la taille, le la couleur...
L'expression va devoir renvoyer du code html pour chacun des cas (exemple ne changeant que la couleur)
Code:
<span style="color:red;">Enjeu prioritaire </span> <span style="color:orange;">Enjeu fort </span> <span style="color:yellow;">Enjeu modéré </span>
Dans votre expression, il va falloir faire quelques comme ca :
Code:
[% case when "IND_Total" <1000 then '<span style="color:yellow;">Enjeu modéré </span>' when "IND_Total"<2000 then '<span style="color:orange;">Enjeu fort </span>' else '<span style="color:red;">Enjeu prioritaire </span>' end %]
Pour changer le reste:
il suffit de séparer les styles par un point virgule :
Code:
<span style="color:red;font-family:verdana;font-size:20px;">Enjeu prioritaire </span>
Liens utiles pour les styles html :
https://www.w3schools.com/html/html_styles.asp
https://www.w3schools.com/colors/colors_names.asp
Hors ligne
#3 Fri 24 May 2019 11:37
- gdeneux
- Juste Inscrit !
- Date d'inscription: 21 May 2019
- Messages: 8
Re: QGIS 3.4.5: Police conditionelle des étiquettes de mise en page
Bonjour,
Je ne suis pas très à l'aise avec le html, mais effectivement c'est une excellente solution.
Merci beaucoup pour votre réponse et pour le lien qui me permettra d'en apprendre plus !
Hors ligne
Pages: 1
- Sujet précédent - QGIS 3.4.5: Police conditionelle des étiquettes de mise en page - Sujet suivant