Hello! I am facing difficulties trying to set the text of a QgsLayoutItemLabel. I do something like the following to load a .qpt composer template and print this to a .png file (which works)
path = "C:\\QGIS3\\apps\\qgis\\composer_templates" template_file = open(path+"\\ANSR_print_composer2.qpt") template_content = template_file.read() template_file.close() document = QDomDocument() document.setContent(template_content) composition = QgsLayout(QgsProject.instance()) composition.loadFromTemplate(document, QgsReadWriteContext()) map_item = composition.itemById('map') legend_item = composition.itemById('legend') text_item = composition.itemById('textbox') QgsLayoutExporter(composition).exportToImage( path+"\\report.png", QgsLayoutExporter.ImageExportSettings()) And now I'd like to modify only the text of the QgsLayoutItemLabel, which is the "textbox": 1) I can move it around with setX(), setY(), but I don't know how to edit the text of the label. I thought of something like text_item.setText() or text_item.setLabelText(), but I think that text_item is just an instance of QgsLayoutItem, not QgsLayoutItemLabel. And there I get stuck. 2) How would you manually add another text label, set the main property etc, such that, at the end of the day, my above code would export a .png containing this QgsLayoutItem? I would have begun this way: new = QgsLayoutItemLabel(composition) new.setText("New label") But it does not quite work that way! Would be of great help, if you could give me some hints on that. Thank you in advance! :) Hannes
_______________________________________________ QGIS-Developer mailing list QGIS-Developer@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer