Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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: 722

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

 

Pied de page des forums

Powered by FluxBB