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

State Of The Map 2024

#1 Mon 16 October 2023 17:57

tarmac
Juste Inscrit !
Lieu: Oraison
Date d'inscription: 25 Aug 2023
Messages: 8

QGIS: action python ouvrir un fichier lie ou afficher un msg

Bonjour à toutes et à tous,

avant d'exposer ma demande, je tiens à remercier tous les contributeurs qui apportent une somme colossale d'informations et de solutions à toutes nos interrogations.

Bien qu'ayant recherché dans les posts précédents et dans la documentation QGIS je n'arrive pas finaliser une action python dans lequel je débute (j'avoue que l'objectif est peut-être ambitieux pour débuter) :

Mon besoin est d'afficher pour une entité un document dont le nom est renseigné dans un champ 'document'. La partie du code correspondante fonctionne, je me suis basé en partie sur ces échanges : https://georezo.net/forum/viewtopic.php … 00&p=1

Lorsque le champ est vide  mais remplacé par une contrainte qui vient saisir automatiquement "Sans" et qu'il n'y a pas de document associé je souhaite afficher un message à l'utilisateur pour l'en informer. Cette partie du code fonctionne mais uniquement lorsque je commente le code relatif à l'ouverture du fichier selon le chemin défini.

Lorsque je décommente le couple if, else cela ne fonctionne plus. Seule la boite de message s'ouvre alors qu'il y a bien un document associé dans le champ document.

Je sens que je suis proche de la solution mais je tourne en rond...

En espérant avoir clairement exposé ma demande, auriez-vous une piste qui puisse m'éclairer sur mon ou mes erreurs ?

Vous en remerciant par avance.
Julien

Le code en question :

from os import startfile
from os.path import join
from qgis.utils import iface
layer = iface.activeLayer()
features = layer.getFeatures()
urfile = iface.activeLayer().source()

if (feature['document']) == ("Sans") :
    QtGui.QMessageBox.information(None,"Suivi des permanences ADS", "Il n'ya pas de document associé pour cette demande.")
else:
    path = join("file:////urba-0004/sig_data/suivi_permanence/","[%"document"%]")
    startfile(path)


Julien M.

Hors ligne

 

#2 Tue 17 October 2023 17:47

tarmac
Juste Inscrit !
Lieu: Oraison
Date d'inscription: 25 Aug 2023
Messages: 8

Re: QGIS: action python ouvrir un fichier lie ou afficher un msg

Bonjour,
mes multiples essais ont finalement aboutis...
voici donc le code qui fonctionne :

Code:

from os import startfile
from os.path import join
from qgis.utils import iface
layer = iface.activeLayer()
urfile = iface.activeLayer().source()

if ("[%"document"%]") is ("Sans"):
    QtGui.QMessageBox.information(None,"Suivi des permanences ADS", "Il n'ya pas de document associé pour cette demande.")
else:
    path = join("file:////urba-0004/sig_data/suivi_permanence/","[%"document"%]")
    startfile(path)

Julien M.

Hors ligne

 

Pied de page des forums

Powered by FluxBB