Pages: 1
- Sujet précédent - QGIS 3.28.11: utiliser fonction dans exclure cet objet des exports - Sujet suivant
#1 Thu 23 November 2023 17:13
- Renaud_NM
- Participant actif
- Date d'inscription: 13 Sep 2019
- Messages: 84
QGIS 3.28.11: utiliser fonction dans exclure cet objet des exports
Bonjour,
Afin d'afficher ou masquer des objets lors de l'impression je souhaiterai utiliser la fonction suivante dans l'option "exclure cet objet des exports " :
=================
from qgis.core import *
from qgis.gui import *
from qgis.utils import iface
@qgsfunction(args='auto', group='Custom')
def affiche_objet(value1, feature, parent):
layers = iface.mapCanvas().layers()
test = 1
for layer in layers:
# print(layer)
# print(layer.name())
if layer.name() == str(value1) :
test= 0
return test
============
Dans la partie expression je fais le test suivant :
case
when affiche_objet("Legende") = 0 then 0
when affiche_objet("Legende") = 1 then 1
end
=======
La fonction s'exécute correctement dans la console python mais pas pour afficher ou masquer les objets... la couche "Legende" existe bien...
Pouvez-vous m'indiquer ou est mon erreur ?
Merci
Hors ligne
#2 Fri 24 November 2023 12:02
- Renaud_NM
- Participant actif
- Date d'inscription: 13 Sep 2019
- Messages: 84
Re: QGIS 3.28.11: utiliser fonction dans exclure cet objet des exports
Personne n'aurait une idée pour me mettre sur la voix ??? ou une autre solution ?
Hors ligne
#3 Fri 24 November 2023 12:44
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS 3.28.11: utiliser fonction dans exclure cet objet des exports
Bonjour,
C'est peut-être un souci de logique ici. Cette case à cocher relève de la double négation: si votre valeur est 0, ça n'exclura pas donc ça affichera. Donc si la couche Légende existe bien, ça renverra 0 donc item affiché.
Par contre c'est 'Légende' et pas "Légende" (simple guillemets vs double).
Hors ligne
#4 Fri 24 November 2023 14:17
- Renaud_NM
- Participant actif
- Date d'inscription: 13 Sep 2019
- Messages: 84
Re: QGIS 3.28.11: utiliser fonction dans exclure cet objet des exports
Merci beaucoup pour votre aide !!!
Cela fonctionne dans QGis mais pas dans Lizmap.
Auriez-vous une solution pour ce dernier ?
Merci
Dernière modification par Renaud_NM (Fri 24 November 2023 14:28)
Hors ligne
#5 Fri 24 November 2023 14:41
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS 3.28.11: utiliser fonction dans exclure cet objet des exports
Nope, aucune idée.
Hors ligne
#6 Mon 27 November 2023 16:22
- Renaud_NM
- Participant actif
- Date d'inscription: 13 Sep 2019
- Messages: 84
Re: QGIS 3.28.11: utiliser fonction dans exclure cet objet des exports
d'une façon plus générale, est-il possible d'utiliser depuis Lizmap les fonctions créées dans QGIS ?
Hors ligne
Pages: 1
- Sujet précédent - QGIS 3.28.11: utiliser fonction dans exclure cet objet des exports - Sujet suivant