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é ?

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

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: 3911

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

 

Pied de page des forums

Powered by FluxBB