Setting QgsExpression for QgsPalLayerSettings in QGIS

المشرف العام

Administrator
طاقم الإدارة
How do you apply a QgsExpression to a Label ?

I can do it in QGIS with this simple expression concat('N:' ,round(Value,0),'\n','Yield:' ,round(Value 2,0))

N: 65

Yield: 40

How do I do it in PyQGIS ? I see a getLabelExpression but no setLabelExpression

This works but I want but only for the field name

crap = QgsVectorLayer("D:/data.shp", "data", "ogr") QgsMapLayerRegistry.instance().addMapLayer(crap) palyr = QgsPalLayerSettings() palyr.readFromLayer(crap) palyr.enabled = True palyr.fieldName = 'Name' palyr.placement= QgsPalLayerSettings.OverPoint palyr.setDataDefinedProperty(QgsPalLayerSettings.Size,True,True,'8','') palyr.writeToLayer(crap)

أكثر...
 
أعلى