[QGIS-Developer] What is the way to get all items of a QgsLayout?
Raymond Nijssen
r.nijssen at terglobo.nl
Sat Nov 17 12:13:32 PST 2018
Hi Song,
It is simply: layout.items()
For example, you can do this:
p = QgsProject.instance()
lom = p.layoutManager()
lo = lom.layoutByName(u'a4')
print(lo.items())
And then this to get all the labels:
for item in lo.items():
if isinstance(item, QgsLayoutItemLabel):
print(item)
There was a bug in the item classes recently but it has been fixed in v3.4
Good luck!
Raymond
On 17-11-18 07:56, Song Wendong wrote:
> We want to make a function that send all items (mainly labels) to
> browser and let user set the cotent, then send it back to server and
> export as pdf.
> I can only find |itemById|
> <https://qgis.org/pyqgis/master/core/Layout/QgsLayout.html#qgis.core.QgsLayout.itemById>and
> |itemByUuid|
> <https://qgis.org/pyqgis/master/core/Layout/QgsLayout.html#qgis.core.QgsLayout.itemByUuid>,
> but there are all kinds of layouts.
> Is there a way to get all items and their ids?
>
>
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>
--
Terglobo
Fahrenheitstraat 1
5223 BJ 's-Hertogenbosch
The Netherlands
+31 (0) 6 25 31 49 83
More information about the QGIS-Developer
mailing list