I'm trying to create an ArcGis Flowchart. I've read the Developers CookBook and I couldn't grasp almost anything.
What I'm trying to do is using some data that I already have, to create n rectange, n circles in a recursive way.
What I mean by this is something like this image.
This is what I already have
project = QgsProject.instance()
manager = project.layoutManager()
layoutName = 'Layout1'
layouts_list = manager.printLayouts()
# remove any duplicate layouts
for layout in layouts_list:
if layout.name() == layoutName:
manager.removeLayout(layout)
layout = QgsPrintLayout(project)
layout.initializeDefaults()
layout.setName(layoutName)
manager.addLayout(layout)
# create map item in the layout
map = QgsLayoutItemMap(layout)
map.setRect(20, 20, 20, 20)
polygon = QPolygonF()
polygon.append(QPointF(0,0))
polygon.append(QPointF(10, 0.0))
polygon.append(QPointF(10,10))
polygon.append(QPointF(0.0, 10))
polygonItem = QgsLayoutItemPolygon(polygon, layout)
layout.addLayoutItem(polygonItem)
layout.addLayoutItem(polygonItem)
props = {}
# props["color"] = "green"
props["style"] = "solid"
props["style_border"] = "solid"
props["color_border"] = "black"
props["width_border"] = "0.1"
props["joinstyle"] = "miter"
symbol = QgsFillSymbol.createSimple(props)
polygonItem.setSymbol(symbol)
label = QgsLayoutItemLabel(layout)
label.setText("Hello world")
label.adjustSizeToText()
layout.addLayoutItem(label)
layout = manager.layoutByName(layoutName)
exporter = QgsLayoutExporter(layout)
fn = 'C:/temp/layout_export.pdf'
#exporter.exportToImage(fn, QgsLayoutExporter.ImageExportSettings())
exporter.exportToPdf(fn, QgsLayoutExporter.PdfExportSettings())