Salve a tutti, <br><br><div class="gmail_quote">2011/1/25 marco zanieri <span dir="ltr"><<a href="mailto:marcozanieri@gmail.com">marcozanieri@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div>comunque è vero che la soluzione migliore sarebbe quella del path relativo al layer o forse meglio all'ubicazione del progetto..<br></div></blockquote><div><br>ho smanettato un pò con python (fare codice python non indentato è un problema), <br>
ed eccovi le soluzioni.<br><br>Basterà usare i successivi pezzi di codice come azioni python modificando il valore <br>della variabile <span style="font-family: courier new,monospace;">command</span> ("eog", Eye Of Gnome,
è il mio visualizzatore di immagini) e <br>della variabile <span style="font-family: courier new,monospace;">imagerelpath</span> con il campo da cui prendere il percorso.<br><br><br><b>Path relativo al layer selezionato<br>
</b>(funziona sia con layer vettoriali basati su file che quelli su db spatialite)<br><br><span style="font-family: courier new,monospace;">command = "eog"; imagerelpath = "immagini/tav_01.jpg"; layer = qgis.utils.iface.activeLayer(); import os.path; layerpath = layer.source() if layer.providerType() == 'ogr' else (qgis.core.QgsDataSourceURI(layer.source()).database() if layer.providerType() == 'spatialite' else None); path = os.path.dirname(str(layerpath)); image = os.path.join(path, imagerelpath); import subprocess; subprocess.Popen( [command, image ] );<br>
<br></span>Se il layer non è di tipo ogr né spatialite restituisce un errore.<br><br><br><b>Path relativo al progetto<br></b>(relativo al percorso nel quale è stato salvato il progetto attualmente aperto)<br><br><span style="font-family: courier new,monospace;">command = "eog"; imagerelpath = "immagini/tav_01.jpg"; projectpath = qgis.core.QgsProject.instance().fileName(); import os.path; path = os.path.dirname(str(projectpath)) if projectpath != '' else None; image = os.path.join(path, imagerelpath); import subprocess; subprocess.Popen( [command, image ] );</span><br>
</div><div class="gmail_quote"><br>Se il progetto attuale non è salvato restituisce un errore.<br><br>Spero possano esservi utili ;)<br>Saluti.<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
</blockquote><div> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote">Il giorno 25 gennaio 2011 15:43, Giuseppe Sucameli <span dir="ltr"><<a href="mailto:sucameli@faunalia.it" target="_blank">sucameli@faunalia.it</a>></span> ha scritto:<div>
<div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="padding-left: 1ex; margin: 0px 0px 0px 0.8ex; border-left: 1px solid rgb(204, 204, 204);">Salve a tutti, <br>
<div><br>
<blockquote class="gmail_quote" style="padding-left: 1ex; margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);">
<div>"percorso eseguibile apertura immagini" "%campo con il percorso<br>immagini"</div></blockquote></div>ho appena provato ad eseguire su Ubuntu un'azione del tipo <br><span style="font-family: courier new,monospace;">gedit text.txt</span><br>
ed ho avuto come risultato l'apertura in modifica del file ~/text.txt<br>Per chi non conoscesse linux, ~ è la home dell'utente, quindi, almeno su linux il <br>risultato è che il path da inserire deve essere relativo alla home dell'utente.<br>
<br>Credo sia uguale anche su windows, quindi nel tuo caso (WinXP) dovrebbe essere:<br><span style="font-family: courier new,monospace;">../../butta/immagini/tav_01.jpg</span><br>Non ne sono sicuro però, ci sarebbe da provare.<br>
<br>La migliore soluzione di certo sarebbe poter usare un path relativo al layer.<br><br>Saluti.<br><br>2011/1/25 Giovanni Manghi <span dir="ltr"><<a href="mailto:giovanni.manghi@gmail.com" target="_blank">giovanni.manghi@gmail.com</a>></span><br>
<div class="gmail_quote"><br>
<blockquote class="gmail_quote" style="padding-left: 1ex; margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);">-- Giovanni --<br><br><br>_______________________________________________<br>Iscriviti all'associazione GFOSS.it: <a href="http://www.gfoss.it/drupal/iscrizione" target="_blank">http://www.gfoss.it/drupal/iscrizione</a><br>
<a href="mailto:Gfoss@lists.gfoss.it" target="_blank">Gfoss@lists.gfoss.it</a><br><a href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss" target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a><br>
Questa e' una lista di discussione pubblica aperta a tutti.<br>Non inviate messaggi commerciali.<br>I messaggi di questa lista non rispecchiano necessariamente<br>le posizioni dell'Associazione GFOSS.it.<br>496 iscritti al 24.1.2011</blockquote>
</div><br><br clear="all"><br>-- <br><font color="#888888">Giuseppe Sucameli<br><br></font></blockquote></div></div></div><br><br clear="all"><div><div></div><div class="h5"><br>-- <br> dott. Marco Zanieri<br>
e-mail: <a href="mailto:marcozanieri@gmail.com" target="_blank">marcozanieri@gmail.com</a><br>
<br> cartografia tematica<br> banche dati territoriali<br> sistemi informativi geografici <br> applicazioni GIS e webGIS<br><br><br><br><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Giuseppe Sucameli<br><br>