Using QGIS, the "General" project properties dialogue includes a "Project Title" area.
Is it possible to use the information inserted in this dialogue in an expression (specifically including within a label when using Composer)?
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It only takes a minute to sign up.Sign up to join this community
In QGIS 2.8, here's how I can get the project title into a text element in a map composer.
Add text element, hit "Insert an expression..."
Go to the Function Editor tab, create a new file, call it "project", and put this in it:
from qgis.core import * from qgis.gui import * @qgsfunction(args="auto", group='Custom') def projtitle(value1, feature, parent): proj = QgsProject.instance() return proj.title()
Hit the green arrow button to run and that will check the syntax. Save it. Now you should have a new function you can put in the expression editor (in the Custom group), for example:
[% projtitle( 0 )%]
in the text field for Map Composer text objects replaces it with the title from the settings.
I couldn't get it to work with no arguments, so the 0 is just a dummy.
Here's a screengrab of the various components showing it in action.
This has been implemented in QGIS 2.14's composer within the expression builder that is called by the 'Insert an expression' button when a text box is active.
They are called 'variables' now and you can call a great variety of them with the syntax "[% @qgis_version %]" right in the text box. The expression builder will also take care of those brackets and percent signs for you, if you can enter a valid expression. .
Please see Nyall Dawson's great blog posts about variables in QGIS: