From b21b7adf521afd2a80ac77f1c3cd23027da830a6 Mon Sep 17 00:00:00 2001 From: pigreco Date: Fri, 2 Aug 2024 15:26:49 +0200 Subject: [PATCH] add funzione custom --- docs/changelog.md | 1 + docs/gr_funzioni/custom/custom_unico.md | 36 ++++++++++++++++++++++++ docs/img/custom/get_alias.png | Bin 0 -> 21028 bytes 3 files changed, 37 insertions(+) create mode 100644 docs/img/custom/get_alias.png diff --git a/docs/changelog.md b/docs/changelog.md index c590b5536..0cda01d4a 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -93,3 +93,4 @@ data | descrizione 21/05/2024 | nono post del blog [calcolo distanza predefinita](https://hfcqgis.opendatasicilia.it/blog/2024/05/21/distanza-predefinita-su-form/) 16/07/2024 | decimo post del blog [mappa valori al volo](https://hfcqgis.opendatasicilia.it/blog/2024/07/16/mappa-valori-generata-al-volo/) 27/07/2024 | undicesimo post del blog [statistiche punti sovrapposti](https://hfcqgis.opendatasicilia.it/blog/2024/07/27/statistiche-punti-sovrapposti/) +02/08/2024 | nuova funzione custom [recupera alias campo]() diff --git a/docs/gr_funzioni/custom/custom_unico.md b/docs/gr_funzioni/custom/custom_unico.md index 646a829a4..08313d474 100644 --- a/docs/gr_funzioni/custom/custom_unico.md +++ b/docs/gr_funzioni/custom/custom_unico.md @@ -1147,3 +1147,39 @@ def get_catg_label(value_in, feature, parent): Lo script รจ stato realizzato da [Giulio Fattori](https://github.com/Korto19) [![](../../img/custom/estrarre_label.png)](../../img/custom/estrarre_label.png) + +## Recupera l'alias di un attributo specificato nel layer corrente + +```py +# -*- coding: utf-8 -*- +""" +/*************************************************************************** + ALIAS NAME CC BY 4.0 + ------------------- + copyright : (C) 2024 by Federico Gianoli + ***************************************************************************/ +""" + +from qgis.core import * +from qgis.gui import * + +@qgsfunction(args='auto', group='Custom') +def get_field_alias(field_name, feature, parent): + """ + Retrieves the alias of a field specified in the current layer. + +

Example usage:

+ + """ + layer = feature.fields() + field_index = layer.indexOf(field_name) + + if field_index != -1: + alias = layer[field_index].alias() + return alias + else: + return f"Field '{field_name}' not found." +``` +[![](../../img/custom/get_alias.png)](../../img/custom/get_alias.png) diff --git a/docs/img/custom/get_alias.png b/docs/img/custom/get_alias.png new file mode 100644 index 0000000000000000000000000000000000000000..1e0db33e737a1ec69e6fc54f70d05c55a4e942cf GIT binary patch literal 21028 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 Rz~*t6y^XVVHSAL2e*jbZ5v~9L literal 0 HcmV?d00001