[QGIS-it-user] Azione python: nome del campo corrente?

alper78 alsper78 a gmail.com
Dom 19 Maggio 2019 12:52:29 PDT


Riporto un'aggiornamento per chi fosse interessato.

Ho fatto alcune prove con le azioni predefinite (nelle proprietà vettore),
più precisamente con 'Mostra il valore del campo selezionato'. Questa azione
quando si clicca con il pulsante destro del mouse su una cella della tabella
attributi (e ovviamente si selezione l'azione), dovrebbe semplicemente
mostrare il valore contenuto nella cella.
Però non funziona: compare la finestra che dovrebbe contenere il valore ma è
vuota.

Tale azione è di tipo python ed è così definita:

from qgis.PyQt import QtWidgets
QtWidgets.QMessageBox.information(None, "Current field's value", "[%
@current_field %]")

Mi sono accorto dopo che nella finestra di modifica dell'azione, spostando
il cursore sull'opzione "Ambito campo", compaiono i suggerimenti sulle
variabili disponibili che sono *field_index*, *field_name* e *field_value*.
Se nel codice python sostituisco @current_field con @filed_value allora
l'azione funziona. Credo che i nomi delle variabili siano cambiati forse con
la versione 3 di QGIS ma non è stata aggiornata l'azione predefinita.

Inoltre è possibile sostituire "Current field's value" con "[% @field_index
%]" o "[% @field_name %]" per visualizzare nel titolo della
finestra-risultato l'indice o il nome del campo.
Quindi il codice python diventa ad esempio:

from qgis.PyQt import QtWidgets
QtWidgets.QMessageBox.information(None, "[% @field_name %]", "[%
@field_value %]")

Qui però succede una cosa strana: @field_index funziona sempre, invece
@field_name funziona solo se attivo l'azione dal pannello "Informazione
risultati" ma non dalla tabella attributi.

(Provato con QGIS 3.4.7 su win 10)



alper78 wrote
> Sto provando a cimentarmi nelle azioni di tipo python. Ho capito che per
> prendere il valore di una cella in tabella attributi posso usare
> '@current_field'. Ma c'è modo di prendere il nome o l'id del campo a cui
> appartiene la cella?





-----
Alessandro Perego
http://www.alspergis.altervista.org
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


Maggiori informazioni sulla lista QGIS-it-user