[Qgis-user] Expression to read field value from composer layout?

Stefan Giese (WhereGroup) stefan.giese at wheregroup.com
Wed Aug 4 04:44:24 PDT 2021


Hi Patrick,

I think that you can not get the text from the label with the 
item_variables function. The keys are limited to the predefinded 
variables like:

_project_transform_context,item_id,item_uuid,layer_ids,layers,layout_dpi,layout_name,layout_numpages,layout_page,layout_pageheight,layout_pageoffsets,layout_pagewidth,miles_km,project_abstract,project_area_units,project_author,project_basename,project_creation_date,project_crs,project_crs_acronym,project_crs_definition,project_crs_description,project_crs_ellipsoid,project_crs_proj4,project_crs_wkt,project_distance_units,project_ellipsoid,project_filename,project_folder,project_home,project_identifier,project_keywords,project_last_saved,project_path,project_title,project_units,qgis_locale,qgis_os_name,qgis_platform,qgis_release_name,qgis_short_version,qgis_version,qgis_version_no,test,user_account_name,user_full_name

But you can use your own variable like filename and access it from anywhere:



Am 04.08.2021 um 13:27 schrieb Patrick Dunford:
>
> I'm looking through the documentation and there is this example:
>
>
>       14.2.2.13. Layout Functions
>       <https://docs.qgis.org/3.10/en/docs/user_manual/working_with_vector/expression.html#id24>
>
> This group contains functions to manipulate print layout items properties.
>
> Function
>
> 	
>
> Description
>
> item_variables
>
> 	
>
> Returns a map of variables from a layout item inside this print layout
>
> *An example:*
>
>  *
>
>     Get the scale of the ‘Map 0’ in the current print layout:
>
>     map_get(  item_variables('Map 0'),  'map_scale')
>
>
> How do I find out how to get the text value of the layout item 
> "Filename" on the current print layout?
>
>
> On 4/08/21 2:40 pm, Patrick Dunford wrote:
>> It is just an ordinary text field on a composer layout I think. I 
>> don't use the atlas functionality.
>>
>> On 4/08/21 10:19 am, Nyall Dawson wrote:
>>> On Wed, 4 Aug 2021 at 06:17, Patrick Dunford 
>>> <enzedrailmaps at gmail.com> wrote:
>>>> Good day
>>>>
>>>> I am wishing to create a value in a field on a composer layout that
>>>> reads the value of another field on the layout and calculates a 
>>>> value to
>>>> be displayed.
>>>>
>>>> For example, I have an existing field called Filename on the layout 
>>>> and
>>>> in a python script running in the main window console, I have this 
>>>> code
>>>> that reads the value of the Filename field as follows:
>>>>
>>>> layoutTitle = "Landscape 16:9 Header Nav Copyright Filename 2021"
>>>>
>>>> project = QgsProject.instance()
>>>> projectLayoutManager = project.layoutManager()
>>>> layout = projectLayoutManager.layoutByName(layoutTitle)
>>>>
>>>> fileNameLabel = layout.itemById('Filename')
>>>> fileNameText = fileNameLabel.text()
>>>>
>>>>
>>>> Obviously I am hoping that doing this from a field within the layout
>>>> that reads another field on the same layout will be much simpler than
>>>> the above. How exactly would I achieve that?
>>> Just to clarify -- by "field" do you mean "a field value from the
>>> atlas layer", or "a text label item"?
>>>
>>> Nyall
>
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

-- 
Mit freundlichen Grüßen
Stefan Giese
Projektleiter/Consultant
************************************************************
Aufbau von Geodateninfrastrukturen mit Open-Source-Software
FOSS Academy 5 Tage-Kompaktkurs „Sommerschule 2021“
Jetzt anmelden: https://foss-academy.com/kompaktkurse/
*************************************************************
WhereGroup GmbH
Schwimmbadstr. 2
79100 Freiburg
Germany

Fon: +49 (0)761 / 519 102 - 61
Fax: +49 (0)761 / 519 102 - 11

stefan.giese at wheregroup.com
www.wheregroup.com
Geschäftsführer:
Olaf Knopp, Peter Stamm
Amtsgericht Bonn, HRB 9885

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20210804/6c736f0f/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ljjnehpmbiioiaaj.png
Type: image/png
Size: 47504 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20210804/6c736f0f/attachment-0001.png>


More information about the Qgis-user mailing list